bh 0.0.8 → 1.0.0

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: bfa65b892278f33239299fce8ca41f8143bd0b21
4
- data.tar.gz: c942fc8e67fad1ade0d91817d92e80d6b53dc9da
3
+ metadata.gz: d19ffd1af7584fc65268ba67ae824b0c2f961cbe
4
+ data.tar.gz: dc511c0f04f95149ce54c4ed3bf603cbaa9eb901
5
5
  SHA512:
6
- metadata.gz: 88f80274975d5bd6dbab430908032bbbf8f837d7e96d057769e62115a965594a0a3bfe990318d64cd7d9930d0c042fce831741ef3d5eb18f7fcc6a892fb61a1e
7
- data.tar.gz: a7224ebd07b8f8443e61b37eca57afbfdf9a1eb392266d3ed113673b4b136dbe0b4c8590a5c70c3be26517ef60846232e162a7c18474d61d347131d4f15f0e4e
6
+ metadata.gz: 8e21c514874f252828111769a977e9ddf4fa319b28463a2d13d1e31a6b623ed67ee596ab17a49a7bacf3f1d118a47dba512792281b6a98478fd7685f24fcad14
7
+ data.tar.gz: d7607b91299a8b4bfafc883c78427461a078d4e5526388c135b0a25eaca0ff64de0874c4268360bbdd9e69eec9f5ad80c793c93c715384ebfdcdef88d1097a19
data/.gitignore CHANGED
@@ -19,5 +19,6 @@ tmp
19
19
  *.so
20
20
  *.o
21
21
  *.a
22
+ _site/
22
23
  spec/dummy
23
24
  mkmf.log
@@ -6,6 +6,10 @@ For more information about changelogs, check
6
6
  [Keep a Changelog](http://keepachangelog.com) and
7
7
  [Vandamme](http://tech-angels.github.io/vandamme).
8
8
 
9
+ ## 1.0.0 - 2014-09-09
10
+
11
+ * No changes
12
+
9
13
  ## 0.0.8 - 2014-08-25
10
14
 
11
15
  * [FEATURE] Add `button_to` helper
data/README.md CHANGED
@@ -1,8 +1,8 @@
1
- Bh - Bootstrap Helpers
1
+ Bh · Bootstrap Helpers
2
2
  ======================
3
3
 
4
4
  Bh provides a set of helpers that streamlines the use of
5
- [Bootstrap components](http://getbootstrap.com/components) in Rails views.
5
+ [Bootstrap components](http://getbootstrap.com/components) in Ruby views.
6
6
 
7
7
  The **full documentation** is available at [rubydoc.info](http://rubydoc.info/github/Fullscreen/bh/master/frames).
8
8
 
@@ -41,12 +41,22 @@ The example above can be rewritten with just one line of code:
41
41
  You can use only the ones you need and even mix-and-match the "standard way"
42
42
  of writing Bootstrap components (many HTML lines) with the "Bh way".
43
43
 
44
+ A comprehensive guide to Bh helpers
45
+ ===================================
46
+
47
+ All the helpers available in Bh are detailed on the [Bh homepage](http://fullscreen.github.io/bh):
48
+
49
+ [![Bh homepage](https://cloud.githubusercontent.com/assets/7408595/4195282/5e823a9c-37bc-11e4-865d-bbc04aab38ec.png)](http://fullscreen.github.io/bh)
50
+
51
+ Please proceed to [http://fullscreen.github.io/bh](http://fullscreen.github.io/bh) for more details and examples on how to use Bh.
52
+
53
+
44
54
  How to install
45
55
  ==============
46
56
 
47
57
  Bh is meant to be included in Rails apps by adding this line to the Gemfile:
48
58
 
49
- gem 'bh', '~> 0.0.8'
59
+ gem 'bh', '~> 1.0.0'
50
60
 
51
61
  Since the gem follows [Semantic Versioning](http://semver.org),
52
62
  indicating the full version in your Gemfile (~> *major*.*minor*.*patch*)
@@ -54,541 +64,22 @@ guarantees that your project won’t occur in any error when you `bundle update`
54
64
  and a new version of Bh is released.
55
65
 
56
66
  Adding `bh` to your Gemfile is all you need!
57
- From now on, you will be able to use any of the following Bh helpers in your Rails views.
58
-
59
- AlertHelper
60
- ===========
61
-
62
- To include [Boostrap alert boxes](http://getbootstrap.com/components/#alerts)
63
- in your Rails views, you can use the [alert_box](http://rubydoc.info/github/Fullscreen/bh/master/Bh/AlertHelper) helper.
64
- Here are some examples.
65
-
66
- Basic alerts
67
- ------------
68
-
69
- ```rhtml
70
- <%= alert_box 'You accepted the Terms of service.' %>
71
- ```
72
-
73
- will generate the HTML to render an *info* alert:
74
-
75
- ```html
76
- <div class="alert alert-info" role="alert">You accepted the Terms of service.</div>
77
- ```
78
-
79
- ![alert-basic](https://cloud.githubusercontent.com/assets/7408595/3936904/7c1c419c-24a7-11e4-9910-6452ab334c09.png)
80
-
81
- Dismissible alerts
82
- ------------------
83
-
84
- ```rhtml
85
- <%= alert_box 'You accepted the Terms of service.', dismissible: true %>
86
- ```
87
-
88
- will generate the HTML to render an alert with an `×` to close it:
89
-
90
- ```html
91
- <div class="alert alert-info" role="alert">
92
- <button class="close" data-dismiss="alert" type="button">
93
- <span aria-hidden="true">×</span><span class="sr-only">Close</span>
94
- </button>
95
- You accepted the Terms of service.
96
- </div>
97
- ```
98
-
99
- ![alert-dismissible](https://cloud.githubusercontent.com/assets/7408595/3936901/7c107b00-24a7-11e4-8265-2752a630357a.png)
100
-
101
- Contextual alerts
102
- -----------------
103
-
104
- ```rhtml
105
- <%= alert_box 'You accepted the Terms of service.', context: :success %>
106
- ```
107
-
108
- will generate the HTML to render a *success* alert (green background):
109
-
110
- ```html
111
- <div class="alert alert-success" role="alert">You accepted the Terms of service.</div>
112
- ```
113
-
114
- Available contexts are `:success`, `:info` (default), `:warning`, `:danger`.
115
-
116
- ![alert-success](https://cloud.githubusercontent.com/assets/7408595/3936902/7c182a44-24a7-11e4-9f8b-7c381662128b.png)
117
-
118
- Priority alerts
119
- ---------------
120
-
121
- Since a common use of alert boxes in Rails applications is to display
122
- [flash messages](http://api.rubyonrails.org/classes/ActionDispatch/Flash/FlashHash.html),
123
- the `alert_box` helper accepts the priority of the flash message as an option.
124
-
125
- ```rhtml
126
- <%= alert_box 'You accepted the Terms of service.', priority: :notice %>
127
- ```
128
-
129
- will generate the HTML to render a dismissible *success* alert (green background):
130
-
131
- ```html
132
- <div class="alert alert-success" role="alert">
133
- <button class="close" data-dismiss="alert" type="button">
134
- <span aria-hidden="true">×</span><span class="sr-only">Close</span>
135
- </button>
136
- You accepted the Terms of service.
137
- </div>
138
- ```
139
-
140
- Available priorities are `:alert`, `:notice`.
141
-
142
- ![alert-success-dismissible](https://cloud.githubusercontent.com/assets/7408595/3936900/7c0bdbcc-24a7-11e4-9b49-93468b7dc738.png)
143
-
144
- Complex alerts
145
- --------------
146
-
147
- ```rhtml
148
- <%= alert_box context: :success, dismissible: true do %>
149
- <strong>Thanks!</strong> You accepted the <%= link_to 'Terms of service', '/terms' %>.
150
- <% end %>
151
- ```
152
-
153
- will generate the HTML to render a dismissible *success* alert that includes
154
- highlighted text and appropriately styled links:
155
-
156
- ```html
157
- <div class="alert alert-success" role="alert">
158
- <button class="close" data-dismiss="alert" type="button">
159
- <span aria-hidden="true">×</span><span class="sr-only">Close</span>
160
- </button>
161
- <strong>Thanks!</strong> You accepted the <a href="/terms" class="alert-link">Terms of service</a>.
162
- </div>
163
- ```
164
-
165
- ![alert-complex](https://cloud.githubusercontent.com/assets/7408595/3936903/7c1b70f0-24a7-11e4-95ee-11f6920ddd4d.png)
166
-
167
- CdnHelper
168
- =========
169
-
170
- To load the CSS and JS files of Bootstrap from
171
- [BootstrapCDN](http://getbootstrap.com/getting-started/#download), you can use
172
- the [bootstrap_css](http://rubydoc.info/github/Fullscreen/bh/master/Bh/CdnHelper),
173
- [bootstrap_theme_css](http://rubydoc.info/github/Fullscreen/bh/master/Bh/CdnHelper) and
174
- [bootstrap_js](http://rubydoc.info/github/Fullscreen/bh/master/Bh/CdnHelper) helpers.
175
- Here are some examples.
176
-
177
- Load the latest Bootstrap assets
178
- --------------------------------
179
-
180
- ```rhtml
181
- <%= stylesheet_link_tag bootstrap_css, bootstrap_theme_css, :application %>
182
- <%= javascript_include_tag bootstrap_js, :application %>
183
- ```
184
-
185
- will generate the HTML to load the latest versions of Bootstrap CSS, Bootstrap
186
- Theme CSS and Bootstrap JS from MaxCDN, before your application assets:
187
-
188
- ```html
189
- <link href="//netdna.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css" media="screen" rel="stylesheet" type="text/css" />
190
- <link href="//netdna.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap-theme.min.css" media="screen" rel="stylesheet" type="text/css" />
191
- <link href="/assets/application.css" media="screen" rel="stylesheet" type="text/css" />
192
-
193
- <script src="//netdna.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js" type="text/javascript"></script>
194
- <script src="/assets/application.js" type="text/javascript"></script>
195
- ```
196
-
197
- Load a specific version of a Bootstrap asset
198
- --------------------------------------------
199
-
200
- ```rhtml
201
- <%= stylesheet_link_tag bootstrap_css(version: '3.1.0', minified: false, scheme: :http) %>
202
- ```
203
-
204
- will generate the HTML to load the non-minified 3.1.0 versions of Bootstrap CSS
205
- over HTTP scheme:
206
-
207
- ```html
208
- <link href="http://netdna.bootstrapcdn.com/bootstrap/3.1.0/css/bootstrap.css" media="screen" rel="stylesheet" type="text/css" />
209
- ```
210
-
211
- GlyphiconHelper
212
- ===============
213
-
214
- To display [glyphicons](http://getbootstrap.com/components/#glyphicons),
215
- you can use the
216
- [glyphicon](http://rubydoc.info/github/Fullscreen/bh/master/Bh/GlyphiconHelper) helper.
217
- Here are some examples.
218
-
219
- Display the "zoom in" icon
220
- --------------------------
221
-
222
- ```rhtml
223
- <%= glyphicon :ok, title: 'Approved' %>
224
- ```
225
-
226
- will generate the HTML to render an "ok" icon with the "Approved" title:
227
-
228
- ```html
229
- <span class="glyphicon glyphicon-ok" title="Approved"></span>
230
- ```
231
-
232
- ![glyphicon](https://cloud.githubusercontent.com/assets/7408595/3941608/64219c82-2537-11e4-8e86-27d4a62b1c06.png)
233
-
234
- Available glyphicons are listed in [Boostrap documentation](http://getbootstrap.com/components/#glyphicons).
235
-
236
- PanelHelper
237
- ===========
238
-
239
- To include [Boostrap panels](http://getbootstrap.com/components/#panels)
240
- in your Rails views, you can use the
241
- [panel](http://rubydoc.info/github/Fullscreen/bh/master/Bh/PanelHelper) helper.
242
- Here are some examples.
243
-
244
- Basic panel
245
- -----------
246
-
247
- ```rhtml
248
- <%= panel body: 'You accepted the Terms of service.' %>
249
- ```
250
-
251
- will generate the HTML to render a basic panel:
252
-
253
- ```html
254
- <div class="panel panel-default">
255
- <div class="panel-body">You accepted the Terms of service.</div>
256
- </div>
257
- ```
258
- ![panel-basic](https://cloud.githubusercontent.com/assets/7408595/3941817/da52bd6c-2543-11e4-87ae-eb1c7ed9df68.png)
259
-
260
- Panel with heading
261
- ------------------
262
-
263
- ```rhtml
264
- <%= panel body: 'You accepted the Terms of service.', heading: 'Congratulations' %>
265
- ```
266
-
267
- will generate the HTML to render a panel with a heading:
268
-
269
- ```html
270
- <div class="panel panel-default">
271
- <div class="panel-heading">Congratulations</div>
272
- <div class="panel-body">You accepted the Terms of service.</div>
273
- </div>
274
- ```
275
-
276
- ![panel-heading](https://cloud.githubusercontent.com/assets/7408595/3941820/da58db3e-2543-11e4-811f-f7da4ffce77d.png)
277
-
278
- Panel with title
279
- ----------------
280
-
281
- ```rhtml
282
- <%= panel body: 'You accepted the Terms of service.', title: 'Congratulations' %>
283
- ```
284
-
285
- will generate the HTML to render a panel with a title:
286
-
287
- ```html
288
- <div class="panel panel-default">
289
- <div class="panel-heading">
290
- <h3 class="panel-title">Congratulations</h3>
291
- </div>
292
- <div class="panel-body">You accepted the Terms of service.</div>
293
- </div>
294
- ```
295
-
296
- ![panel-title](https://cloud.githubusercontent.com/assets/7408595/3941816/da52b894-2543-11e4-99b8-4b6ffd47c167.png)
297
-
298
- Contextual panel
299
- ----------------
300
-
301
- ```rhtml
302
- <%= panel body: 'You accepted the Terms of service.', title: 'Congratulations', context: :success %>
303
- ```
304
-
305
- will generate the HTML to render a *success* panel (green background):
306
-
307
- ```html
308
- <div class="panel panel-success">
309
- <div class="panel-heading">
310
- <h3 class="panel-title">Congratulations</h3>
311
- </div>
312
- <div class="panel-body">You accepted the Terms of service.</div>
313
- </div>
314
- ```
315
-
316
- Available contexts are `:default` (default), `:primary`, `:success`, `:info`,
317
- `:warning` and `:danger`.
318
-
319
- ![panel-context](https://cloud.githubusercontent.com/assets/7408595/3941818/da562ba0-2543-11e4-87ce-54e143538219.png)
320
-
321
- Complex panels
322
- --------------
323
-
324
- ```rhtml
325
- <%= panel tag: :aside do %>
326
- <div class='panel-body'>You accepted the Terms of service. <%= glyphicon :ok %></div>
327
- <div class='panel-footer'><h4>Thanks</h4></div>
328
- <% end %>
329
- ```
330
-
331
- will generate the HTML to render an aside panel with HTML body and footer:
332
-
333
- ```html
334
- <aside class="panel panel-default">
335
- <div class="panel-body">
336
- You accepted the Terms of service.
337
- <span class="glyphicon glyphicon-ok"></span>
338
- </div>
339
- <div class="panel-footer"><h4>Thanks</h4></div>
340
- </aside>
341
- ```
342
-
343
- ![panel-complex](https://cloud.githubusercontent.com/assets/7408595/3941819/da569586-2543-11e4-8640-3f0a72077aca.png)
344
-
345
-
346
- PanelRowHelper
347
- ==============
348
-
349
- To include a row of [Boostrap panels](http://getbootstrap.com/components/#panels)
350
- in your Rails views, you can use the
351
- [panel_row](http://rubydoc.info/github/Fullscreen/bh/master/Bh/PanelRowHelper) helper.
352
- Here are some examples.
353
-
354
- Basic row of panels
355
- -------------------
356
-
357
- ```rhtml
358
- <%= panel_row column_class: 'col-sm-4' do %>
359
- <%= panel body: 'Panel #1' %>
360
- <%= panel body: 'Panel #2' %>
361
- <%= panel body: 'Panel #3' %>
362
- <% end %>
363
- ```
364
-
365
- will generate the HTML to render a row of three basic panels:
366
-
367
- ```html
368
- <div class="row">
369
- <div class="col-sm-4">
370
- <div class="panel panel-default"><div class="panel-body">Panel #1</div></div>
371
- </div>
372
- <div class="col-sm-4">
373
- <div class="panel panel-default"><div class="panel-body">Panel #2</div></div>
374
- </div>
375
- <div class="col-sm-4">
376
- <div class="panel panel-default"><div class="panel-body">Panel #3</div></div>
377
- </div>
378
- </div>
379
- ```
380
-
381
- ![panel-row-basic](https://cloud.githubusercontent.com/assets/7408595/3942060/48967f30-2552-11e4-8b9c-a647d1569d5c.png)
382
-
383
- Complex row of panels
384
- ---------------------
385
-
386
- ```rhtml
387
- <%= panel_row column_class: 'col-sm-4' do %>
388
- <%= panel title: 'User', context: :info do %>
389
- <div class='panel-body'><%= glyphicon :user %> John Smith</div>
390
- <% end %>
391
- <%= panel title: 'Phone' do %>
392
- <div class='panel-body'><%= glyphicon :earphone %> 323-555-5555</div>
393
- <% end %>
394
- <%= panel title: 'City' do %>
395
- <div class='panel-body'><%= glyphicon :record %> Los Angeles, CA</div>
396
- <% end %>
397
- <% end %>
398
- ```
399
-
400
- will generate the HTML to render a row of three panels with title and HTML body:
401
-
402
- ```html
403
- <div class="row">
404
- <div class="col-sm-4"><div class="panel panel-info">
405
- <div class="panel-heading"><h3 class="panel-title">User</h3></div>
406
- <div class="panel-body"><span class="glyphicon glyphicon-user"></span> John Smith</div>
407
- </div></div>
408
- <div class="col-sm-4"><div class="panel panel-default">
409
- <div class="panel-heading"><h3 class="panel-title">Phone</h3></div>
410
- <div class="panel-body"><span class="glyphicon glyphicon-earphone"></span> 323-555-5555</div>
411
- </div></div>
412
- <div class="col-sm-4"><div class="panel panel-default">
413
- <div class="panel-heading"><h3 class="panel-title">City</h3></div>
414
- <div class="panel-body"><span class="glyphicon glyphicon-record"></span> Los Angeles, CA</div>
415
- </div></div>
416
- </div>
417
- ```
418
-
419
- ![panel-row-complex](https://cloud.githubusercontent.com/assets/7408595/3942061/489d1bc4-2552-11e4-9b00-d724b7c2c908.png)
420
-
421
- ModalHelper
422
- ===========
67
+ From now on, you will be able to use any Bh helper in your ERB views.
423
68
 
424
- To include [Boostrap modals](http://getbootstrap.com/javascript/#modals)
425
- in your Rails views, you can use the
426
- [modal](http://rubydoc.info/github/Fullscreen/bh/master/Bh/ModalHelper) helper.
427
- Here are some examples.
428
-
429
- Basic modal
430
- -----------
431
-
432
- ```rhtml
433
- <%= modal title: 'Terms of service', body: 'Do what you want!' %>
434
- ```
435
-
436
- will generate the HTML to render a button that toggles a model when clicked:
437
-
438
- ```html
439
- <button class="btn btn-default" data-toggle="modal" data-target="#modal-8684506463">
440
- Terms of service
441
- </button>
442
- <div class="modal fade" id="modal-8684506463" tabindex="-1" role="dialog" aria-labelledby="label-modal-8684506463" aria-hidden="true" style="display: none;">
443
- <div class="modal-dialog">
444
- <div class="modal-content">
445
- <div class="modal-header">
446
- <button type="button" class="close" data-dismiss="modal">
447
- <span aria-hidden="true">×</span><span class="sr-only">Close</span>
448
- </button>
449
- <h4 class="modal-title" id="label-modal-8684506463">Terms of service</h4>
450
- </div>
451
- <div class="modal-body">Do what you want!</div>
452
- </div>
453
- </div>
454
- </div>
455
- ```
456
-
457
- ![modal-basic](https://cloud.githubusercontent.com/assets/7408595/3943921/b471d3c2-25d8-11e4-9b40-d8bab38ba572.png)
458
-
459
- Complex modal
460
- -------------
461
-
462
- ```rhtml
463
- <%= modal title: 'Terms of service', size: :small, button: {caption: 'Continue', size: :large, context: :info} do %>
464
- Please accept the Terms of service.
465
- <div class="modal-footer"><button type="button" class="btn btn-primary">Accept</button></div>
466
- <% end %>
467
- ```
468
-
469
- will generate the HTML to render a large, *info* button (blue background) with
470
- the caption "Continue" that toggles a small modal with a title and HTML content:
471
-
472
- ```html
473
- <button class="btn btn-info btn-lg" data-toggle="modal" data-target="#modal-8022670096">
474
- Continue
475
- </button>
476
- <div class="modal fade in" id="modal-8022670096" tabindex="-1" role="dialog" aria-labelledby="label-modal-8022670096" aria-hidden="false" style="display: block;">
477
- <div class="modal-dialog modal-sm">
478
- <div class="modal-content">
479
- <div class="modal-header">
480
- <button type="button" class="close" data-dismiss="modal">
481
- <span aria-hidden="true">×</span><span class="sr-only">Close</span>
482
- </button>
483
- <h4 class="modal-title" id="label-modal-8022670096">Terms of service</h4>
484
- </div>
485
- Please accept the Terms of service.
486
- <div class="modal-footer"><button type="button" class="btn btn-primary">Accept</button></div>
487
- </div>
488
- </div>
489
- </div>
490
- ```
491
-
492
- ![modal-complex](https://cloud.githubusercontent.com/assets/7408595/3943922/b47620a8-25d8-11e4-9e0c-803d8a104bff.png)
493
-
494
- FormForHelper
69
+ How to update
495
70
  =============
496
71
 
497
- To include [Boostrap forms](http://getbootstrap.com/css/#forms)
498
- in your Rails views, you can use the
499
- [form_for](http://rubydoc.info/github/Fullscreen/bh/master/Bh/FormForHelper)
500
- helper.
501
-
502
- By default, Bh does not override the `form_for` method provided by [ActionView](http://api.rubyonrails.org/classes/ActionView/Helpers/FormHelper.html#method-i-form_for).
503
- To apply Bootstrap classes and attributes, you **must** set the `:layout` option to
504
-
505
- * `:basic`, in order to get a [Basic form](http://getbootstrap.com/css/#forms-example)
506
- * `:horizontal`, in order to get a [Horizontal form](http://getbootstrap.com/css/#forms-horizontal)
507
- * `:inline`, in order to get an [Inline form](http://getbootstrap.com/css/#forms-inline)
508
-
509
- Here is how a form with a text field and a submit button looks like with each layout:
510
-
511
- ```rhtml
512
- <%= form_for @user, layout: :basic do |f| %>
513
- <%= f.text_field :name %>
514
- <%= f.submit %>
515
- <% end %>
516
- ```
517
-
518
- ![form-for-basic](https://cloud.githubusercontent.com/assets/7408595/4015592/30611478-2a2c-11e4-8e62-b60e2151ff12.png)
519
-
72
+ Whenever a new version is released, the [CHANGELOG file](https://github.com/claudiob/bh/blob/master/CHANGELOG.md)
73
+ will include a description of what features have changed and how to upgrade
74
+ your code, if necessary.
520
75
 
521
- ```rhtml
522
- <%= form_for @user, layout: :horizontal do |f| %>
523
- <%= f.text_field :name %>
524
- <%= f.submit %>
525
- <% end %>
526
- ```
527
-
528
- ![form-for-horizontal](https://cloud.githubusercontent.com/assets/7408595/4015593/30620ba8-2a2c-11e4-90c9-8340b5ddc113.png)
529
-
530
- ```rhtml
531
- <%= form_for @user, layout: :inline do |f| %>
532
- <%= f.text_field :name %>
533
- <%= f.submit %>
534
- <% end %>
535
- ```
536
-
537
- ![form-for-inline](https://cloud.githubusercontent.com/assets/7408595/4015591/30609b74-2a2c-11e4-989e-e509d72ed224.png)
538
-
539
-
540
- NavHelper
541
- ===========
542
-
543
- To include [Boostrap navs](http://getbootstrap.com/components/#nav)
544
- in your Rails views, you can use the
545
- [nav](http://rubydoc.info/github/Fullscreen/bh/master/Bh/NavHelper) helper.
546
- Here are some examples.
547
-
548
- Justified tabs nav
549
- ------------------
550
-
551
- ```rhtml
552
- <%= nav layout: :justified do %>
553
- <%= link_to 'Home', root_path %>
554
- <%= link_to 'Profile', profile_path %>
555
- <% end %>
556
- ```
557
-
558
- will generate the HTML to render a nav with two links (wrapped in the
559
- appropriate list items, as specified by Bootstrap documentation):
560
-
561
- ```html
562
- <ul class="nav nav-tabs nav-justified" role="tablist">
563
- <li class="active"><a href="/">Home</a></li>
564
- <li><a href="/profile">Profile</a></li>
565
- </ul>
566
- ```
567
-
568
- ![nav-tabs](https://cloud.githubusercontent.com/assets/7408595/4038705/9dede620-2cba-11e4-9543-6384e8ac9ace.png)
569
-
570
- Stacked pills nav
571
- -----------------
572
-
573
- ```rhtml
574
- <%= nav as: :pills, layout: :stacked do %>
575
- <%= link_to 'Home', root_path %>
576
- <%= link_to 'Profile', profile_path %>
577
- <% end %>
578
-
579
- ```
580
-
581
- will generate the HTML to render a stacked *pills* nav:
582
-
583
- ```html
584
- <ul class="nav nav-pills nav-stacked" role="tablist">
585
- <li class="active"><a href="/">Home</a></li>
586
- <li><a href="/profile">Profile</a></li>
587
- </ul>
588
- ```
76
+ The full [history of Bh versions](https://gemnasium.com/gems/bh/versions) is also available.
589
77
 
590
- ![nav-pills](https://cloud.githubusercontent.com/assets/7408595/4038706/9df29ad0-2cba-11e4-83de-cd31b6659c78.png)
78
+ To stay updated with the latest releases, to receive code examples,
79
+ implementation details and announcements, please consider subscribing to the
80
+ [Bh mailing list](http://eepurl.com/2Hwfb):
591
81
 
82
+ [![Bh mailing list](https://cloud.githubusercontent.com/assets/7408595/4204475/b8f1d8fe-3837-11e4-8e2f-79b017f583e1.png)](http://eepurl.com/2Hwfb)
592
83
 
593
84
  How to release new versions
594
85
  ===========================
@@ -602,8 +93,8 @@ document the changes in CHANGELOG.md and README.md, bump the version, then run
602
93
  rake release
603
94
 
604
95
  Remember that the bh gem follows [Semantic Versioning](http://semver.org).
605
- Any new release that is fully backward-compatible should bump the *patch* version (0.0.x).
606
- Any new version that breaks compatibility should bump the *minor* version (0.x.0)
96
+ Any new release that is fully backward-compatible should bump the *patch* version (1.0.x).
97
+ Any new version that breaks compatibility should bump the *minor* version (1.x.0)
607
98
 
608
99
  How to contribute
609
100
  =================
@@ -612,8 +103,7 @@ Bh needs your support!
612
103
 
613
104
  If you find that a method is missing, fork the project, add the missing code,
614
105
  write the appropriate tests, then submit a pull request, and it will gladly
615
- be merged! If you need an inspiration, look at the
616
- [TODO](https://github.com/Fullscreen/bh/blob/master/TODO.md).
106
+ be merged!
617
107
 
618
108
  To run the tests, simply type `rspec` on the command line.
619
109
 
@@ -1,3 +1,3 @@
1
1
  module Bh
2
- VERSION = '0.0.8'
2
+ VERSION = '1.0.0'
3
3
  end
@@ -10,7 +10,7 @@ describe 'form_for' do
10
10
  describe 'without a :layout option' do
11
11
  let(:options) { {} }
12
12
 
13
- specify 'does not apply Boostrap attributes to the form' do
13
+ specify 'does not apply Bootstrap attributes to the form' do
14
14
  expect(form).not_to include 'role="form"'
15
15
  end
16
16
  end
@@ -18,7 +18,7 @@ describe 'form_for' do
18
18
  describe 'with layout: :horizontal' do
19
19
  let(:options) { {layout: :horizontal} }
20
20
 
21
- specify 'applies Boostrap attributes of an horizontal form' do
21
+ specify 'applies Bootstrap attributes of an horizontal form' do
22
22
  expect(form).to include 'role="form"'
23
23
  expect(form).to include 'class="form-horizontal"'
24
24
  end
@@ -27,7 +27,7 @@ describe 'form_for' do
27
27
  describe 'with layout: :inline' do
28
28
  let(:options) { {layout: :inline} }
29
29
 
30
- specify 'applies Boostrap attributes of an inline form' do
30
+ specify 'applies Bootstrap attributes of an inline form' do
31
31
  expect(form).to include 'role="form"'
32
32
  expect(form).to include 'class="form-inline"'
33
33
  end
@@ -36,7 +36,7 @@ describe 'form_for' do
36
36
  describe 'with any other value for :layout' do
37
37
  let(:options) { {layout: :basic} }
38
38
 
39
- specify 'applies Boostrap attributes of a basic form' do
39
+ specify 'applies Bootstrap attributes of a basic form' do
40
40
  expect(form).to include 'role="form"'
41
41
  end
42
42
  end
@@ -12,7 +12,7 @@ describe 'navbar' do
12
12
  let(:block) { Proc.new {} }
13
13
  let(:options) { {} }
14
14
 
15
- specify 'applies Boostrap attributes to the navbar' do
15
+ specify 'applies Bootstrap attributes to the navbar' do
16
16
  expect(html).to match %r{<nav.+? role="navigation">}
17
17
  end
18
18
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bh
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.8
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Claudio Baccigalupo
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-08-28 00:00:00.000000000 Z
11
+ date: 2014-09-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -137,7 +137,6 @@ files:
137
137
  - MIT-LICENSE
138
138
  - README.md
139
139
  - Rakefile
140
- - TODO.md
141
140
  - bh.gemspec
142
141
  - gemfiles/Gemfile.rails-3.x
143
142
  - gemfiles/Gemfile.rails-4.x
data/TODO.md DELETED
@@ -1,298 +0,0 @@
1
-
2
- Modals
3
- ======
4
-
5
- Use the `modal` helper to insert a button that will toggle any type of
6
- [modal](http://getbootstrap.com/javascript/#modals) provided by Bootstrap.
7
-
8
- Basic modals
9
- ------------
10
-
11
- ```erb
12
- <%= modal 'Click to toggle a modal', 'I am the content of the modal' %>
13
- ```
14
-
15
- will generate the HTML to render a button that, when clicked, will toggle
16
- a modal with some simple text:
17
-
18
- ```html
19
- <button class="btn btn-primary" data-toggle="modal" data-target="#myModal">
20
- Click to toggle a modal
21
- </button>
22
- <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
23
- <div class="modal-dialog">
24
- <div class="modal-content">
25
- <div class="modal-body">
26
- I am the content of the modal
27
- </div>
28
- </div>
29
- </div>
30
- </div>
31
- ```
32
-
33
- Complex modals
34
- --------------
35
-
36
- ```erb
37
- <%= modal 'Delete account', title: 'Confirm your action', dismissible: true, context: :danger, button_class: 'btn-sm', modal_class: 'modal-sm' do %>
38
- You are about to delete your account. Would you like to proceed?
39
- <%= footer do %>
40
- <button class="btn btn-danger">Yes, delete my account</button>
41
- <% end %>
42
- <% end %>
43
-
44
- will generate the HTML to render a small "danger" (red) button that, when
45
- clicked, will toggle a small, dismissible modal with a title, some text, and a
46
- footer with a call-to-action:
47
-
48
- ```html
49
- <button class="btn btn-danger btn-sm" data-toggle="modal" data-target="#myModal">
50
- Delete account
51
- </button>
52
- <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
53
- <div class="modal-dialog modal-sm">
54
- <div class="modal-content">
55
- <div class="modal-header">
56
- <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span><span class="sr-only">Close</span></button>
57
- <h4 class="modal-title" id="mySmallModalLabel">Confirm your action</h4>
58
- </div>
59
- <div class="modal-body">
60
- You are about to delete your account. Would you like to proceed?
61
- </div>
62
- <div class="modal-footer">
63
- <button class="btn btn-danger">Yes, delete my account</button>
64
- </div>
65
- </div>
66
- </div>
67
- </div>
68
- ```
69
-
70
- Panels
71
- ======
72
-
73
- Use the `panel` helper to insert any type of
74
- [panel](http://getbootstrap.com/components/#panels) provided by Bootstrap.
75
-
76
- Basic panels
77
- ------------
78
-
79
- ```erb
80
- <%= panel 'You have the right to remain silent...' %>
81
- ```
82
-
83
- will generate the HTML to render a basic panel:
84
-
85
- ```html
86
- <div class="panel panel-default">
87
- <div class="panel-body">
88
- You have the right to remain silent...
89
- </div>
90
- </div>
91
- ```
92
-
93
- Panels with title
94
- -----------------
95
-
96
- ```erb
97
- <%= panel 'You have the right to remain silent...', title: 'Your rights' %>
98
- ```
99
-
100
- will generate the HTML to render a panel with a simple title header:
101
-
102
- ```html
103
- <div class="panel panel-default">
104
- <div class="panel-heading">
105
- <h2 class="panel-title">Your rights</h2>
106
- </div>
107
- <div class="panel-body">
108
- You have the right to remain silent...
109
- </div>
110
- </div>
111
- ```
112
-
113
- Body and title can be passed as blocks if they are more than plain text:
114
-
115
- ```erb
116
- <%= panel do %>
117
- <strong>Hey!</strong> You have the right to remain silent...
118
- <%= title tag: :h3, do %>
119
- <strong>Your rights</strong> (from our <%= link_to '/terms', 'Terms of service' %>)
120
- <% end %>
121
- <% end %>
122
- ```
123
-
124
- will generate
125
-
126
- ```html
127
- <div class="panel panel-info">
128
- <div class="panel-heading">
129
- <h3 class="panel-title">
130
- <strong>Your rights</strong> (from our <a href="/terms">Terms of service</a>)
131
- </h2>
132
- </div>
133
- <div class="panel-body">
134
- <strong>Hey!</strong> You have the right to remain silent...
135
- </div>
136
- </div>
137
- ```
138
-
139
- Contextual panels
140
- -----------------
141
-
142
- ```erb
143
- <%= panel 'You have the right to remain silent...', title: 'Your rights', context: :warning %>
144
- ```
145
-
146
- will generate the HTML to render a "warning" (orange border) panel:
147
-
148
- ```html
149
- <div class="panel panel-warning">
150
- <div class="panel-heading">
151
- <h2 class="panel-title">
152
- Your rights
153
- </h2>
154
- </div>
155
- <div class="panel-body">
156
- You have the right to remain silent...
157
- </div>
158
- </div>
159
- ```
160
-
161
- Panels with footer
162
- ------------------
163
-
164
- ```erb
165
- <%= panel do %>
166
- You have the right to remain silent...
167
- <%= footer do %>
168
- <button class="btn btn-primary">Accept</button>
169
- <% end %>
170
- <% end %>
171
- ```
172
-
173
- will generate the HTML to render a panel with a button in the footer:
174
-
175
- ```html
176
- <div class="panel panel-default">
177
- <div class="panel-body">
178
- You have the right to remain silent...
179
- </div>
180
- <div class="panel-footer">
181
- <button class="btn btn-primary">Accept</button>
182
- </div>
183
- </div>
184
- ```
185
-
186
- <!--
187
- TODO
188
- Both panel and modal should accept a title to override the header, or a header,
189
- or none of them and then they should not have the header component at all.
190
- For the size, though, they are different.
191
- -->
192
-
193
- Navbar
194
- ======
195
-
196
- Basic navbar
197
- ------------
198
-
199
- ```erb
200
- <%= navbar do %>
201
- <%= nav do %>
202
- <%= link_to 'Posts', '/posts' %>
203
- <%= link_to 'Users', '/users' %>
204
- <% end %>
205
- <% end %>
206
- ```
207
-
208
- will generate the HTML to render an default navbar with two links:
209
-
210
- ```html
211
- <nav class="navbar" role="navigation">
212
- <div class="container">
213
- <div class="navbar-header">
214
- <button class="navbar-toggle" data-target="#bs-example-navbar-collapse-1" data-toggle="collapse" type="button">
215
- <span class="sr-only">Toggle navigation</span>
216
- <span class="icon-bar"></span>
217
- <span class="icon-bar"></span>
218
- <span class="icon-bar"></span>
219
- </button>
220
- </div>
221
- <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
222
- <ul class="nav navbar-nav">
223
- <li><a href="/posts">Posts</a></li>
224
- <li><a href="/users">Users</a></li>
225
- </ul>
226
- </div>
227
- </div>
228
- </nav>
229
- ```
230
-
231
-
232
- Complex navbar
233
- --------------
234
-
235
- <%= navbar fixed: :top, inverted: true do %>
236
- <%= brand do %>
237
- <%= link_to image_tag('logo.png', alt: 'Company Name'), '/' %>
238
- <% end %>
239
- <%= nav do %>
240
- <%= link_to 'Posts', '/posts' %>
241
- <%= link_to 'Users', '/users' %>
242
- <% end %>
243
- <%= nav align: :right do %>
244
- <%= link_to 'Log in', '/login' %>
245
- <% end %>
246
- <% end %>
247
-
248
- <!-- NOTE: to align a form to the right, it's not necessary to put it inside
249
- a "nav align: :right", it's enough to have the form directly, but form_for
250
- should be smart enough to add the 'navbar-form' class for better alignment -->
251
-
252
- <style>body {padding-top: 70px}</style>
253
- <nav class="navbar navbar-inverse navbar-fixed-top" role="navigation">
254
- <div class="container">
255
- <div class="navbar-header">
256
- <button class="navbar-toggle" data-target="#bs-example-navbar-collapse-1" data-toggle="collapse" type="button">
257
- <span class="sr-only">Toggle navigation</span>
258
- <span class="icon-bar"></span>
259
- <span class="icon-bar"></span>
260
- <span class="icon-bar"></span>
261
- </button>
262
- <a href="/" class="navbar-brand">
263
- <img alt="Company Name" src="/logo.png">
264
- </a>
265
- </div>
266
- <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
267
- <ul class="nav navbar-nav">
268
- <li class="active"><a href="/posts">Posts</a></li>
269
- <li><a href="/users">Users</a></li>
270
- </ul>
271
- <ul class="nav navbar-nav navbar-right">
272
- <li><a href="/login">Log in</a></li>
273
- </ul>
274
- </div>
275
- </div>
276
- </nav>
277
-
278
- Forms
279
- =====
280
-
281
- <%= form_for %>
282
- <%= button_to %>
283
- <%= link_to %>
284
-
285
- Buttons
286
- =======
287
-
288
- <!-- TODO: explain that button_to is smarter, same for form_for, link_to
289
- they add extra-classes based on the context -->
290
-
291
- Viewport meta tag
292
- =================
293
-
294
- <%= viewport_meta_tag %>
295
-
296
- generates
297
-
298
- <meta name="viewport" content="width=device-width, initial-scale=1">