Module: Trestle::GridHelper
- Defined in:
- app/helpers/trestle/grid_helper.rb
Instance Method Summary collapse
-
#col(columns = nil, breakpoints = {}) ⇒ Object
Renders a column div, one of the building blocks of Bootstrap’s grid system.
-
#divider(attrs = {}) ⇒ Object
Renders an <HR> (horizontal rule) HTML tag.
-
#row(attrs = {}) ⇒ Object
Renders a row div, one of the building blocks of Bootstrap’s grid system.
Instance Method Details
#col(columns = nil, breakpoints = {}) ⇒ Object
Renders a column div, one of the building blocks of Bootstrap’s grid system. getbootstrap.com/docs/4.4/layout/grid/
Column divs should always be rendered inside of a row div.
Examples
# Standard column - evenly fills available space
<%= col do %>...<% end %>
# Column spans 4 (out of 12) grid columns (i.e. 1/3 width) at all breakpoints
<%= col 4 do %> ...
# Column spans 6 grid columns at smallest breakpoint, 4 at md breakpoint
# and above (portrait tablet) and 3 at xl breakpoint and above (desktop)
<%= col 6, md: 4, xl: 3 do %> ...
Returns a HTML-safe String.
42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
# File 'app/helpers/trestle/grid_helper.rb', line 42 def col(columns=nil, breakpoints={}) if columns.is_a?(Hash) breakpoints = columns columns = breakpoints.delete("xs") || breakpoints.delete(:xs) end if columns.nil? && breakpoints.empty? classes = "col" else classes = [] classes << "col-#{columns}" if columns classes += breakpoints.map { |breakpoint, span| "col-#{breakpoint}-#{span}" } end content_tag(:div, class: classes) { yield } end |
#divider(attrs = {}) ⇒ Object
Renders an <HR> (horizontal rule) HTML tag.
attrs - Hash of attributes that will be passed to the tag (e.g. id, data, class).
Returns a HTML-safe String.
64 65 66 |
# File 'app/helpers/trestle/grid_helper.rb', line 64 def divider(attrs={}) tag(:hr, attrs) end |
#row(attrs = {}) ⇒ Object
Renders a row div, one of the building blocks of Bootstrap’s grid system. getbootstrap.com/docs/4.4/layout/grid/
attrs - Hash of attributes that will be passed to the tag (e.g. id, data, class).
Examples
<%= row do %>
<%= col do %>Column content<% end %>
<% end %>
<%= row class: "row-cols-2", id: "my-row" do %> ...
Returns a HTML-safe String.
17 18 19 20 21 22 |
# File 'app/helpers/trestle/grid_helper.rb', line 17 def row(attrs={}) defaults = Trestle::Options.new(class: ["row"]) = defaults.merge(attrs) content_tag(:div, ) { yield } end |