diff --git a/README.md b/README.md index ff78f2e..b6ba331 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ jade-bootstrap ============== -Jade mixins for creating bootstrap markup. +This is a collection of Jade mixins to aid in creating Jade based Bootstrap markup, it also includes the default bootstrap template examples Jadeified! diff --git a/index.jade b/index.jade index 847e6b6..52551fd 100644 --- a/index.jade +++ b/index.jade @@ -16,9 +16,12 @@ include mixins/doctypes include mixins/forms include mixins/grid-system include mixins/helper-classes +include mixins/icons include mixins/images +include mixins/modal include mixins/navbar include mixins/navs +include mixins/progress-bars include mixins/responsive-images include mixins/responsive-utilities include mixins/tables diff --git a/mixins/buttons.jade b/mixins/buttons.jade index 7c7357c..116b462 100644 --- a/mixins/buttons.jade +++ b/mixins/buttons.jade @@ -54,9 +54,15 @@ - _btnSize(attributes) - } +mixin buttons + - _addClassAttribute('right', 'pull-right', attributes) + - _addClassAttribute('left', 'pull-left', attributes) + .btn-group&attributes(attributes) + block + mixin button - attributes.type = attributes.type || 'button' - button(attributes=attributes) + button&attributes(attributes) block mixin abtn @@ -64,16 +70,16 @@ mixin abtn - _addClassAttribute('disabled', 'disabled', attributes) - attributes.href = attributes.href || '#' - attributes.role = attributes.role || 'button' - a.btn(attributes=attributes) + a.btn&attributes(attributes) block mixin btn - _btnMeta(attributes) - attributes.type = attributes.type || 'button' - +button.btn(attributes=attributes) + +button.btn&attributes(attributes) block mixin ibtn - _btnMeta(attributes) - attributes.type = attributes.type || 'button' - input.btn(attributes=attributes) + input.btn&attributes(attributes) diff --git a/mixins/carousel.jade b/mixins/carousel.jade index 78f085a..75f2c92 100644 --- a/mixins/carousel.jade +++ b/mixins/carousel.jade @@ -57,9 +57,9 @@ mixin carousel mixin carousel-caption - _addClassAttribute('active', 'active', attributes) - +div.carousel-caption(attributes=attributes) + +div.carousel-caption&attributes(attributes) block mixin carousel-item - +div.item(attributes=attributes) + +div.item&attributes(attributes) block diff --git a/mixins/containers.jade b/mixins/containers.jade index c08977b..08d35a2 100644 --- a/mixins/containers.jade +++ b/mixins/containers.jade @@ -8,5 +8,5 @@ //- http://getbootstrap.com/css/#overview-container mixin container - .container(attributes=attributes) + .container&attributes(attributes) block diff --git a/mixins/doctypes.jade b/mixins/doctypes.jade index ef54855..c103ac1 100644 --- a/mixins/doctypes.jade +++ b/mixins/doctypes.jade @@ -10,5 +10,5 @@ mixin doctype - attributes.lang = attributes.lang || 'en' doctype html - html(attributes=attributes) + html&attributes(attributes) block diff --git a/mixins/forms.jade b/mixins/forms.jade index 8346aed..d664102 100644 --- a/mixins/forms.jade +++ b/mixins/forms.jade @@ -23,41 +23,41 @@ mixin checkbox .checkbox +label(noControlLabel=attributes.noControlLabel) - attributes.noControlLabel = null - +input(attributes=attributes) + +input&attributes(attributes) block mixin checkbox-inline - attributes.type = attributes.type || 'checkbox' +label(class='checkbox-inline', noControlLabel=attributes.noControlLabel) - attributes.noControlLabel = null - +input(attributes=attributes) + +input&attributes(attributes) block mixin form - attributes.role = attributes.role || 'form' - _addClassAttribute('horizontal', 'form-horizontal', attributes) - _addClassAttribute('inline', 'form-inline', attributes) - form(attributes=attributes) + form&attributes(attributes) block mixin form-group - .form-group(attributes=attributes) + .form-group&attributes(attributes) block mixin form-static - p.form-control-static(attributes=attributes) + p.form-control-static&attributes(attributes) block mixin input - _inputMeta(attributes) - attributes.type = attributes.type || 'text' - input(attributes=attributes) + input&attributes(attributes) mixin label - _unlessClassAttribute('noControlLabel', 'control-label', attributes) - _addClassAttribute('inline', 'sr-only', attributes) - _colMeta(attributes) - label(attributes=attributes) + label&attributes(attributes) block mixin radio @@ -65,15 +65,15 @@ mixin radio .radio +label()(noControlLabel=attributes.noControlLabel) - attributes.noControlLabel = null - +input(attributes=attributes) + +input&attributes(attributes) block mixin select - _inputMeta(attributes) - select(attributes=attributes) + select&attributes(attributes) block mixin textarea - _inputMeta(attributes) - textarea(attributes=attributes) + textarea&attributes(attributes) block diff --git a/mixins/grid-system.jade b/mixins/grid-system.jade index 49233fa..c755659 100644 --- a/mixins/grid-system.jade +++ b/mixins/grid-system.jade @@ -21,10 +21,11 @@ - } mixin col + - _textAlignment(attributes) - _colMeta(attributes) - div(attributes=attributes) + div&attributes(attributes) block mixin row - .row(attributes=attributes) + .row&attributes(attributes) block diff --git a/mixins/helper-classes.jade b/mixins/helper-classes.jade index 167aa96..eb2f262 100644 --- a/mixins/helper-classes.jade +++ b/mixins/helper-classes.jade @@ -8,12 +8,12 @@ //- http://getbootstrap.com/css/#helper-classes mixin center-block - .center-block(attributes=attributes) + .center-block&attributes(attributes) block mixin clearfix - _responsiveMeta(attributes) - .clearfix(attributes=attributes) + .clearfix&attributes(attributes) block mixin close @@ -21,17 +21,17 @@ mixin close | × mixin hidden - .hidden(attributes=attributes) + .hidden&attributes(attributes) block mixin pull-left - .pull-left(attributes=attributes) + .pull-left&attributes(attributes) block mixin pull-right - .pull-right(attributes=attributes) + .pull-right&attributes(attributes) block mixin show - .show(attributes=attributes) + .show&attributes(attributes) block diff --git a/mixins/icons.jade b/mixins/icons.jade new file mode 100644 index 0000000..18ee528 --- /dev/null +++ b/mixins/icons.jade @@ -0,0 +1,6 @@ +//- font-awesome helper + +mixin icon(name) + - _addClassAttribute('spin', 'icon-spin', attributes) + - _addClassAttribute('pulse', 'icon-pulse', attributes) + i(class=['icon', 'icon-'+name])&attributes(attributes) diff --git a/mixins/images.jade b/mixins/images.jade index b2d141c..0e31aa0 100644 --- a/mixins/images.jade +++ b/mixins/images.jade @@ -8,10 +8,10 @@ //- http://getbootstrap.com/css/#images mixin img-rounded - img.img-rounded(attributes=attributes) + img.img-rounded&attributes(attributes) mixin img-circle - img.img-circle(attributes=attributes) + img.img-circle&attributes(attributes) mixin img-thumbnail - img.img-thumbnail(attributes=attributes) + img.img-thumbnail&attributes(attributes) diff --git a/mixins/modal.jade b/mixins/modal.jade new file mode 100644 index 0000000..5766f3c --- /dev/null +++ b/mixins/modal.jade @@ -0,0 +1,29 @@ +//- dialog + +mixin modal + .modal.fade(tabindex='-1', role='dialog', aria-hidden='true')&attributes(attributes) + .modal-dialog + .modal-content + block + +mixin modal-header(title) + .modal-header + if attributes.close !== false + button(type='button', class='close', data-dismiss='modal', aria-hidden='true') × + h3.modal-title= title + +mixin modal-body + .modal-body + block + +mixin modal-footer + .modal-footer + if block + block + + else + +modal-dismiss-button + +mixin modal-dismiss-button(label) + - label = label || t('Close') + +btn(data-dismiss='modal', aria-hidden='true')= label diff --git a/mixins/navbar.jade b/mixins/navbar.jade index 67e0589..c34073d 100644 --- a/mixins/navbar.jade +++ b/mixins/navbar.jade @@ -35,15 +35,15 @@ - } mixin divider - +li.divider(attributes=attributes) + +li.divider&attributes(attributes) block mixin dropdown - +li.dropdown(attributes=attributes) + +li.dropdown&attributes(attributes) block mixin dropdown-header - +li.dropdown-header(attributes=attributes) + +li.dropdown-header&attributes(attributes) block mixin dropdown-menu @@ -52,22 +52,22 @@ mixin dropdown-menu mixin dropdown-toggle - attributes['data-toggle'] = attributes['data-toggle'] || 'dropdown' - +a.dropdown-toggle(attributes=attributes) + +a.dropdown-toggle&attributes(attributes) block mixin icon-bar - +span.icon-bar(attributes=attributes) + +span.icon-bar&attributes(attributes) block mixin navbar - _navbarOption(attributes) - _navbarPosition(attributes) - attributes.role = attributes.role || 'navigation' - .navbar(attributes=attributes) + .navbar&attributes(attributes) block mixin navbar-brand - +a.navbar-brand(attributes=attributes) + +a.navbar-brand&attributes(attributes) block mixin navbar-collapse @@ -81,7 +81,7 @@ mixin navbar-header mixin navbar-toggle - attributes['data-target'] = attributes['data-target'] || '.navbar-collapse' - attributes['data-toggle'] = attributes['data-toggle'] || 'collapse' - +button.navbar-toggle(attributes=attributes) + +button.navbar-toggle&attributes(attributes) +span()(sr-only) | Toggle navigation +icon-bar diff --git a/mixins/navs.jade b/mixins/navs.jade index cc781fb..9b298d7 100644 --- a/mixins/navs.jade +++ b/mixins/navs.jade @@ -8,5 +8,5 @@ //- http://getbootstrap.com/components/#nav mixin nav - +ul.nav.navbar-nav(attributes=attributes) + +ul.nav.navbar-nav&attributes(attributes) block diff --git a/mixins/progress-bars.jade b/mixins/progress-bars.jade new file mode 100644 index 0000000..362415f --- /dev/null +++ b/mixins/progress-bars.jade @@ -0,0 +1,12 @@ +//- progress bar + +//- options: +//- - striped => give it strips +//- - active/animated => make it move +mixin progress(percent) + - _addClassAttribute('striped', 'progress-bar-striped', attributes) + - _addClassAttribute('animated', 'active', attributes) + - _addClassAttribute('active', 'active', attributes) + .progress + .progress-bar(style='width:'+(percent || 0)+'%', role="progressbar", aria-valuenow=percent, aria-valuemin="0" aria-valuemax="100")&attributes(attributes) + span.sr-only= percent+"% complete" diff --git a/mixins/responsive-images.jade b/mixins/responsive-images.jade index 37da76a..fb263d7 100644 --- a/mixins/responsive-images.jade +++ b/mixins/responsive-images.jade @@ -9,4 +9,4 @@ mixin img - _addClassAttribute('responsive', 'img-responsive', attributes) - img(attributes=attributes) + img&attributes(attributes) diff --git a/mixins/tables.jade b/mixins/tables.jade index 5374994..320278f 100644 --- a/mixins/tables.jade +++ b/mixins/tables.jade @@ -31,24 +31,26 @@ mixin table - if (attributes.responsive) { - attributes.responsive = null .table-responsive - table.table(attributes=attributes) + table.table&attributes(attributes) block - } else { - table.table(attributes=attributes) + table.table&attributes(attributes) block - } mixin td + - _textAlignment(attributes) - _contextualMeta(attributes) - td(attributes=attributes) + td&attributes(attributes) block mixin th + - _textAlignment(attributes) - _contextualMeta(attributes) - th(attributes=attributes) + th&attributes(attributes) block mixin tr - _contextualMeta(attributes) - tr(attributes=attributes) + tr&attributes(attributes) block diff --git a/mixins/typography.jade b/mixins/typography.jade index 35223a3..449f64f 100644 --- a/mixins/typography.jade +++ b/mixins/typography.jade @@ -90,142 +90,141 @@ mixin a - _textMeta(attributes) - attributes.href = attributes.href || '#' - a(attributes=attributes) + a&attributes(attributes) block mixin abbr - _textMeta(attributes) - _addClassAttribute('initialism', 'initialism', attributes) - abbr(attributes=attributes) + abbr&attributes(attributes) block mixin address - _textMeta(attributes) - address(attributes=attributes) + address&attributes(attributes) block mixin blockquote - _textMeta(attributes) - blockquote(attributes=attributes) + blockquote&attributes(attributes) block mixin b - _textMeta(attributes) - b(attributes=attributes) + b&attributes(attributes) mixin br - br(attributes=attributes) + br&attributes(attributes) mixin cite - _textMeta(attributes) - cite(attributes=attributes) + cite&attributes(attributes) block mixin dd - dd(attributes=attributes) + dd&attributes(attributes) block mixin div - _itemMeta(attributes) - _textMeta(attributes) - div(attributes=attributes) + div&attributes(attributes) block mixin dl - _descriptionMeta(attributes) - dl(attributes=attributes) + dl&attributes(attributes) block mixin dt - dt(attributes=attributes) + dt&attributes(attributes) block mixin em - _textMeta(attributes) - em(attributes=attributes) + em&attributes(attributes) block mixin footer - footer(attributes=attributes) + footer&attributes(attributes) block mixin h1 - _textMeta(attributes) - _headingMeta(attributes) - h1(attributes=attributes) + h1&attributes(attributes) block mixin h2 - _textMeta(attributes) - _headingMeta(attributes) - h2(attributes=attributes) + h2&attributes(attributes) block mixin h3 - _textMeta(attributes) - _headingMeta(attributes) - h3(attributes=attributes) + h3&attributes(attributes) block mixin h4 - _textMeta(attributes) - _headingMeta(attributes) - h4(attributes=attributes) + h4&attributes(attributes) block mixin h5 - _textMeta(attributes) - _headingMeta(attributes) - h5(attributes=attributes) + h5&attributes(attributes) block mixin h6 - _textMeta(attributes) - _headingMeta(attributes) - h6(attributes=attributes) + h6&attributes(attributes) block mixin hr - hr(attributes=attributes) - block + hr&attributes(attributes) mixin lead - _textMeta(attributes) - attributes.class = (attributes.class === undefined) ? 'lead' : attributes.class + ' ' + 'lead' - +p(attributes=attributes) + +p&attributes(attributes) block mixin li - _itemMeta(attributes) - li(attributes=attributes) + li&attributes(attributes) block mixin ol - _listMeta(attributes) - ol(attributes=attributes) + ol&attributes(attributes) block mixin p - _textMeta(attributes) - p(attributes=attributes) + p&attributes(attributes) block mixin small - _textMeta(attributes) - small(attributes=attributes) + small&attributes(attributes) block mixin span - _textMeta(attributes) - span(attributes=attributes) + span&attributes(attributes) block mixin strong - _textMeta(attributes) - strong(attributes=attributes) + strong&attributes(attributes) block mixin ul - _listMeta(attributes) - ul(attributes=attributes) + ul&attributes(attributes) block diff --git a/mixins/viewports.jade b/mixins/viewports.jade index 29a55fa..2594dbb 100644 --- a/mixins/viewports.jade +++ b/mixins/viewports.jade @@ -15,4 +15,4 @@ mixin viewport - } else { - attributes.content = attributes.content || 'width=device-width, initial-scale=1.0' - } - meta(attributes=attributes) + meta&attributes(attributes)