[
  {
    "path": ".github/FUNDING.yml",
    "content": "# These are supported funding model platforms\n\ngithub: #['rajasegar']\npatreon: rajasegar\nopen_collective: # Replace with a single Open Collective username\nko_fi: # Replace with a single Ko-fi username\ntidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel\ncommunity_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry\nliberapay: # Replace with a single Liberapay username\nissuehunt: # Replace with a single IssueHunt username\notechie: # Replace with a single Otechie username\ncustom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']\n"
  },
  {
    "path": ".gitignore",
    "content": ".DS_Store\nnode_modules\n*.swp\n"
  },
  {
    "path": ".jshintrc",
    "content": "{\n    \"esnext\": true\n}\n"
  },
  {
    "path": ".travis.yml",
    "content": "language: node_js\nnode_js:\n    - \"stable\"\n"
  },
  {
    "path": "LICENSE",
    "content": "The MIT License (MIT)\n\nCopyright (c) 2015 Rajasegar Chandiran\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE."
  },
  {
    "path": "README.md",
    "content": "# PUG-Bootstrap\n[Bootstrap](http://getbootstrap.com) framework written completely using mixins in [Pug](http://pugjs.org)\n\n[![Build Status](https://travis-ci.org/pug-bootstrap/JADE-Bootstrap.svg?branch=master)](https://travis-ci.org/pug-bootstrap/JADE-Bootstrap) \n[![npm](https://img.shields.io/npm/dm/jade-bootstrap.svg)](https://www.npmjs.com/package/jade-bootstrap)  \n[![npm version](http://img.shields.io/npm/v/jade-bootstrap.svg?style=flat)](https://npmjs.org/package/jade-bootstrap \"View this project on npm\")\n[![MIT license](http://img.shields.io/badge/license-MIT-brightgreen.svg)](http://opensource.org/licenses/MIT)\n\n## Website\n[PUG-Bootstrap](http://pug-bootstrap.github.io/PUG-Bootstrap/) \n\n## Documentation\n[Documentation](http://pug-bootstrap.github.io/PUG-Bootstrap/) \n\n## Wiki\nGo to [wiki](http://pug-bootstrap.github.io/PUG-Bootstrap/) page\n\n## Quickstart\n  Several quick start options are available:\n  * [Download the latest release] (https://github.com/pug-bootstrap/PUG-Bootstrap/archive/master.zip)\n  * Clone the repo: `git clone https://github.com/pug-bootstrap/PUG-Bootstrap.git`.\n  * Install with [Bower](http://bower.io/): `bower install jade-bootstrap`.\n  * Install with [npm](https://www.npmjs.com/): `npm install jade-bootstrap`.\n\nThe quickest way to get started for NodeJS applications is with this [boilerplate](https://github.com/pug-bootstrap/jadebootstrap-seed)\n\n### What's included\n\nWithin the download you'll find the following directories and files, logically grouping common mixins. You'll see something like this:\n\n```\nbootstrap.pug\n├── components/\n│   ├── accordion.pug\n│   ├── alerts.pug\n│   ├── carousel.pug\n│   ├── dropdowns.pug\n│   ├── forms.pug\n│   ├── icons.pug\n│   ├── labels.pug\n│   ├── list-groups.pug\n│   ├── modal.pug\n│   ├── navbar.pug\n│   ├── navs.pug\n│   ├── panels.pug\n│   ├── progress-bars.pug\n│   ├── tables.pug\n│   ├── tabs.pug\n│   ├── toggle.pug\n│   └── tooltips.pug\n└── layouts/\n    ├── blog.pug\n    ├── carousel.pug\n    ├── cover.pug\n    ├── dashboard.pug\n    ├── jumbotron.pug\n    ├── jumbotron-narrow.pug\n    ├── justified-nav.pug\n    ├── navbar.pug\n    ├── navbar_fixed.pug\n    ├── navbar_static.pug\n    ├── non-responsive.pug\n    ├── offcanvas.pug\n    ├── sign-in.pug\n    ├── starter.pug\n    ├── sticky-footer.pug\n    ├── sticky-footer-navbar.pug\n    └── theme-template.pug\n\n```\n  \n  \n## Features\n\n  * Bootstrap set as the default UI framework\n  * Pug set as the default Template engine\n  * Focus on high performance\n  * Super-speed development using Pug mixins\n  * Some widely used sample layouts to start with.\n"
  },
  {
    "path": "_bootstrap.pug",
    "content": "//- bootstrap.jade\n//- bootstrap mixins\n\n\n//- Including Icon mixins\ninclude components/icons\n//- Including Alert mixins\ninclude components/alerts\n//- Including Tooltip mixins\ninclude components/tooltips\n//- Including Accordion mixins\ninclude components/accordion\n//- Including Carousel mixins\ninclude components/carousel\n//- Including Table mixins\ninclude components/tables\n//- Including Navbar mixins\ninclude components/navbar\n//- Including Toggle Button mixins\ninclude components/toggle\n//- Including Nav mixins\ninclude components/navs\n//- Including Label mixins\ninclude components/labels\n//- Including Panel mixins\ninclude components/panels\n//- Including Tab mixins\ninclude components/tabs\n//- Including Dropdown mixins\ninclude components/dropdowns\n//- Including Form control mixins\ninclude components/forms\n//- Including Modal dialog mixins\ninclude components/modal\n//- Including List group mixins\ninclude components/list-groups\n//- Including Progress bar mixins\ninclude components/progress-bars\n//- Including Button mixins\ninclude components/buttons\n//- Including Image mixins\ninclude components/images\n//- Including Bootswatch theme mixins\ninclude components/bootswatch\n\ndoctype html\nhtml(lang=\"en\")\n\thead\n\t\tmeta(charset=\"UTF-8\")\n\t\tmeta(http-equiv=\"X-UA-Compatible\", content=\"IE=edge\")\n\t\tmeta(name=\"viewport\",content=\"width=device-width, initial-scale=1\")\n\t\tmeta(name=\"description\",content=\"\")\n\t\tmeta(name=\"author\",content=\"\")\n\t\tlink(rel=\"icon\",href=\"../../favicon.ico\")\n\t\ttitle= title\n\t\tblock styles\n\t\t\tlink(rel=\"stylesheet\",href=\"https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css\")\n\tbody(data-spy=\"scroll\",data-target=\".scrollspy\")\n\t\tblock body\n\t\t\t\n\t\tblock scripts\n\t\t\tscript(src=\"https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js\")\n\t\t\tscript(src=\"https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js\")\n"
  },
  {
    "path": "bower.json",
    "content": "{\n  \"name\": \"jade-bootstrap\",\n  \"version\": \"1.0.0\",\n  \"homepage\": \"https://github.com/rajasegar/JADE-Bootstrap\",\n  \"authors\": [\n    \"Rajasegar <rajasegar.c@gmail.com>\"\n  ],\n  \"description\": \"Bootstrap framework written completely using mixins in JADE\",\n  \"main\": \"bootstrap.jade\",\n  \"keywords\": [\n    \"jade\",\n    \"bootstrap\",\n    \"frontend\",\n    \"ui\",\n    \"framework\"\n  ],\n  \"license\": \"MIT\",\n  \"ignore\": [\n    \"**/.*\",\n    \"node_modules\",\n    \"bower_components\",\n    \"test\",\n    \"tests\"\n  ]\n}\n"
  },
  {
    "path": "components/accordion.pug",
    "content": "//- accordion\nmixin accordion(id)\n\t.panel-group(id=\"accordion#{id}\", role=\"tablist\", aria-multiselectable=\"true\")\n\t\tblock\n\n//- accordion-item\nmixin accordion-item(type,title,parent,expanded)\n\t-var id = title.replace(/\\s+/g,\"\")\n\t.panel(class=\"panel-#{type}\")\n\t\t.panel-heading(role=\"tab\", id=\"heading#{title}\")\n\t\t\th4.panel-title\n\t\t\t\ta(data-toggle=\"collapse\", data-parent=\"#accordion#{parent}\", href=\"#collapse#{id}\", aria-expanded=\"true\" ,aria-controls=\"collapseOne\")\n\t\t\t\t\t= title\n\t\tunless expanded\n\t\t\t.panel-collapse.collapse(id=\"collapse#{id}\", role=\"tabpanel\", aria-labelledby=\"heading#{title}\")\n\t\t\t\t.panel-body\n\t\t\t\t\tblock\n\t\telse\n\t\t\t.panel-collapse.collapse.in(id=\"collapse#{id}\", role=\"tabpanel\", aria-labelledby=\"heading#{title}\")\n\t\t\t\t.panel-body\n\t\t\t\t\tblock\n\n//- accordion-item-default\nmixin accordion-item-default(title,parent,expanded)\n\t+accordion-item(\"default\",title,parent,expanded)\n\t\tblock\n\t\t\n//- accordion-item-primary\nmixin accordion-item-primary(title,parent,expanded)\n\t+accordion-item(\"primary\",title,parent,expanded)\n\t\tblock\n\n//- accordion-item-info\nmixin accordion-item-info(title,parent,expanded)\n\t+accordion-item(\"info\",title,parent,expanded)\n\t\tblock\n\n//- accordion-item-success\nmixin accordion-item-success(title,parent,expanded)\n\t+accordion-item(\"success\",title,parent,expanded)\n\t\tblock\n\t\t\n//- accordion-item-warning\nmixin accordion-item-warning(title,parent,expanded)\n\t+accordion-item(\"warning\",title,parent,expanded)\n\t\tblock\n\t\t\n//- accordion-item-danger\nmixin accordion-item-danger(title,parent,expanded)\n\t+accordion-item(\"danger\",title,parent,expanded)\n\t\tblock"
  },
  {
    "path": "components/alerts.pug",
    "content": "//- alerts.jade\n//- alert mixins\n\ninclude icons\n//- Generic Simple alert\nmixin alert(type,message)\n\t.alert(role=\"alert\",class=`alert-${type}`)\n\t\t!= message\n\n//- Generic alert with icon\nmixin alert-i(type,message,icon)\n\t.alert(role=\"alert\",class=`alert-${type}`)\n\t\t+icon(icon)\n\t\t|  &nbsp;\n\t\t= message\n\n\t\t\n//- Generic alert with close button\nmixin alert-x(type,message)\n\t.alert.alert-dismissible(role=\"alert\",class=`alert-${type}`)\n\t\tbutton.close(type=\"button\",data-dismiss=\"alert\" aria-label=\"Close\")\n\t\t\tspan(aria-hidden=\"true\")  &times;\n\t\t= message\n\t\t\n//- Generic alert with icon and close button\nmixin alert-ix(type,message,icon)\n\t.alert.alert-dismissible(role=\"alert\",class=`alert-${type}`)\n\t\t+icon(icon)\n\t\tbutton.close(type=\"button\",data-dismiss=\"alert\" aria-label=\"Close\")\n\t\t\tspan(aria-hidden=\"true\")  &times;\n\t\t= message\n\t\n//------------------------------------------------------\n//- ALERTS \n//------------------------------------------------------\t\n//- Alert info\nmixin alert-info(message,icon)\n\tunless icon\n\t\t- var icon = \"info-sign\"\n\t+alert(\"info\",message,icon)\n\n\t\n//- Alert success\nmixin alert-success(message,icon)\n\tunless icon\n\t\t- var icon = \"ok-sign\"\n\t+alert(\"success\",message,icon)\n\n//- Alert warning\t\t\nmixin alert-warning(message,icon)\n\tunless icon\n\t\t- var icon = \"exclamation-sign\"\n\t+alert(\"warning\",message,icon)\n\n//- Alert danger\t\t\nmixin alert-danger(message)\n\tunless icon\n\t\t- var icon = \"remove-sign\"\n\t+alert(\"danger\",message,icon)\n\t\n//------------------------------------------------------\n//- ALERTS WITH ICONS\n//------------------------------------------------------\t\n//- Alert info\nmixin alert-i-info(message,icon)\n\tunless icon\n\t\t- var icon = \"info-sign\"\n\t+alert-i(\"info\",message,icon)\n\n\t\n//- Alert success\nmixin alert-i-success(message,icon)\n\tunless icon\n\t\t- var icon = \"ok-sign\"\n\t+alert-i(\"success\",message,icon)\n\n//- Alert warning\t\t\nmixin alert-i-warning(message,icon)\n\tunless icon\n\t\t- var icon = \"exclamation-sign\"\n\t+alert-i(\"warning\",message,icon)\n\n//- Alert danger\t\t\nmixin alert-i-danger(message)\n\tunless icon\n\t\t- var icon = \"remove-sign\"\n\t+alert-i(\"danger\",message,icon)\n\n\t\n//------------------------------------------------------\n//- DISMISSIBLE ALERTS\n//------------------------------------------------------\t\n//- Alert info\nmixin alert-x-info(message)\n\t+alert-x(\"info\",message)\n\n\t\n//- Alert success\nmixin alert-x-success(message)\n\t+alert-x(\"success\",message)\n\n//- Alert warning\t\t\nmixin alert-x-warning(message)\n\t+alert-x(\"warning\",message)\n\n//- Alert danger\t\t\nmixin alert-x-danger(message)\n\t+alert-x(\"danger\",message)\n\n\t\n//------------------------------------------------------\n//- DISMISSIBLE ALERTS WITH ICONS\n//------------------------------------------------------\t\n//- Alert info\nmixin alert-ix-info(message,icon)\n\tunless icon\n\t\t- var icon = \"info-sign\"\n\t+alert-ix(\"info\",message,icon)\n\n\t\n//- Alert success\nmixin alert-ix-success(message,icon)\n\tunless icon\n\t\t- var icon = \"ok-sign\"\n\t+alert-ix(\"success\",message,icon)\n\n//- Alert warning\t\t\nmixin alert-ix-warning(message,icon)\n\tunless icon\n\t\t- var icon = \"exclamation-sign\"\n\t+alert-ix(\"warning\",message,icon)\n\n//- Alert danger\t\t\nmixin alert-ix-danger(message,icon)\n\tunless icon\n\t\t- var icon = \"remove-sign\"\n\t+alert-ix(\"danger\",message,icon)\n"
  },
  {
    "path": "components/bootswatch.pug",
    "content": "//- Bootswatch theme mixins by Kezz Bracey\n//- https://github.com/tutsplus/baking-bootstrap-snippets-with-jade\n//- Author:  http://tutsplus.com/authors/kezz-bracey\nmixin bootswatch(theme)\n    link(href=\"https://maxcdn.bootstrapcdn.com/bootswatch/3.3.4/\" + theme + \"/bootstrap.min.css\", rel=\"stylesheet\")"
  },
  {
    "path": "components/buttons.pug",
    "content": "//- button mixins\n//- anchor buttons\nmixin a-btn(url,style)\n\t- var type = (typeof style === 'undefined') ? \"default\" : style\n\ta.btn(class=`btn-${type}`,href=url,role=\"button\")\n\t\tblock\n\nmixin a-btn-primary(url)\n\t+a-btn(url,\"primary\")\n\t\tblock\n\t\nmixin a-btn-info(url)\n\t+a-btn(url,\"info\")\n\t\tblock\n\t\nmixin a-btn-warning(url)\n\t+a-btn(url,\"warning\")\n\t\tblock\n\t\nmixin a-btn-danger(url)\n\t+a-btn(url,\"danger\")\n\t\tblock\n\t\nmixin a-btn-success(url)\n\t+a-btn(url,\"success\")\n\t\tblock\n\n//- buttons\nmixin btn(caption,style,size)\n\t- var type = (typeof style === 'undefined') ? \"default\" : style\n\tunless size\n\t\tbutton.btn(class=`btn-${type}`,type=\"button\")= caption\n\telse\n\t\tbutton.btn(class=`btn-${type} btn-${size}`,type=\"button\")= caption\n\n\nmixin btn-primary(caption)\n\t+btn(caption,\"primary\")\n\t\nmixin btn-info(caption)\n\t+btn(caption,\"info\")\n\t\nmixin btn-warning(caption)\n\t+btn(caption,\"warning\")\n\t\nmixin btn-danger(caption)\n\t+btn(caption,\"danger\")\n\t\nmixin btn-success(caption)\n\t+btn(caption,\"success\")\n\n//- Large buttons\t\nmixin btn-lg(caption)\n\t- var type = (typeof style === 'undefined') ? 'default' : style\n\t+btn(caption,type,\"lg\")\n\t\nmixin btn-lg-primary(caption)\n\t+btn(caption,\"primary\",\"lg\")\n\t\nmixin btn-lg-info(caption)\n\t+btn(caption,\"info\",\"lg\")\n\t\nmixin btn-lg-success(caption)\n\t+btn(caption,\"success\",\"lg\")\n\t\nmixin btn-lg-warning(caption)\n\t+btn(caption,\"warning\",\"lg\")\n\t\nmixin btn-lg-danger(caption)\n\t+btn(caption,\"danger\",\"lg\")\n\t\n//- Small buttons\t\nmixin btn-sm(caption)\n\t- var type = (typeof style === 'undefined') ? 'default' : style\n\t+btn(caption,type,\"sm\")\n\t\nmixin btn-sm-primary(caption)\n\t+btn(caption,\"primary\",\"sm\")\n\t\nmixin btn-sm-info(caption)\n\t+btn(caption,\"info\",\"sm\")\n\t\nmixin btn-sm-success(caption)\n\t+btn(caption,\"success\",\"sm\")\n\t\nmixin btn-sm-warning(caption)\n\t+btn(caption,\"warning\",\"sm\")\n\t\nmixin btn-sm-danger(caption)\n\t+btn(caption,\"danger\",\"sm\")\n\t\n//- Extra Small buttons\t\nmixin btn-xs(caption)\n\t- var type = (typeof style === 'undefined') ? 'default' : style\n\t+btn(caption,type,\"xs\")\n\t\nmixin btn-xs-primary(caption)\n\t+btn(caption,\"primary\",\"xs\")\n\t\nmixin btn-xs-info(caption)\n\t+btn(caption,\"info\",\"xs\")\n\t\nmixin btn-xs-success(caption)\n\t+btn(caption,\"success\",\"xs\")\n\t\nmixin btn-xs-warning(caption)\n\t+btn(caption,\"warning\",\"xs\")\n\t\nmixin btn-xs-danger(caption)\n\t+btn(caption,\"danger\",\"xs\")\n\t\t\n//- input buttons\nmixin input-btn(caption,style)\n\t- var type = (typeof style === 'undefined') ? \"default\" : style\n\tinput.btn(class=`btn-${type}`,type=\"button\",value=caption)\n\nmixin input-btn-primary(caption)\n\t+input-btn(caption,\"primary\")\n\t\nmixin input-btn-info(caption)\n\t+input-btn(caption,\"info\")\n\t\nmixin input-btn-warning(caption)\n\t+input-btn(caption,\"warning\")\n\t\nmixin input-btn-danger(caption)\n\t+input-btn(caption,\"danger\")\n\t\nmixin input-btn-success(caption)\n\t+input-btn(caption,\"success\")\n\t\n//- submit buttons\nmixin submit(caption,style)\n\t- var type = (typeof style === 'undefined') ? \"default\" : style\n\tinput.btn(class=`btn-${type}`,type=\"submit\",value=caption)\n\nmixin submit-primary(caption)\n\t+submit(caption,\"primary\")\n\t\nmixin submit-info(caption)\n\t+submit(caption,\"info\")\n\t\nmixin submit-warning(caption)\n\t+submit(caption,\"warning\")\n\t\nmixin submit-danger(caption)\n\t+submit(caption,\"danger\")\n\t\nmixin submit-success(caption)\n\t+submit(caption,\"success\")\n\t\n"
  },
  {
    "path": "components/carousel.pug",
    "content": "//- carousel caption\nmixin carousel-caption(item)\n\t.carousel-caption\n\t\tunless !item.h1\n\t\t\th1 #{item.h1}\n\t\tunless !item.p\n\t\t\tp #{item.p}\n\t\tunless !item.button\n\t\t\tp\n\t\t\t\ta.btn.btn-lg.btn-primary(href=\"#{item.button.url}\" role=\"button\") #{item.button.caption}\n\n//- carousel\nmixin carousel(id,items)\n\t.carousel.slide(id=`carousel-${id}`,data-ride=\"carousel\")\n\t\t//- Indicators\n\t\tol.carousel-indicators\n\t\t\teach item,index in items\n\t\t\t\tif(index === 0)\n\t\t\t\t\tli.active(data-target=`#carousel-${id}`, data-slide-to=\"#{index}\")\n\t\t\t\telse\n\t\t\t\t\tli(data-target=`#carousel-${id}`, data-slide-to=\"#{index}\")\n\n\n\t\t//- Wrapper for slides\n\t\t.carousel-inner(role=\"listbox\")\n\t\t\teach item,index in items\n\t\t\t\tif(index === 0)\n\t\t\t\t\t.item.active\n\t\t\t\t\t\timg(src=\"#{item.image}\")\n\t\t\t\t\t\t+carousel-caption(item)\n\t\t\t\t\t\t\t\n\t\t\t\telse\n\t\t\t\t\t.item\n\t\t\t\t\t\timg(src=\"#{item.image}\")\n\t\t\t\t\t\t+carousel-caption(item)\n\n\t\t//-  Controls\n\t\ta.left.carousel-control(href=`#carousel-${id}`, role=\"button\", data-slide=\"prev\")\n\t\t\t+icon(\"chevron-left\")\n\t\t\tspan.sr-only Previous\n\t\ta.right.carousel-control(href=`#carousel-${id}`, role=\"button\", data-slide=\"next\")\n\t\t\t+icon(\"chevron-right\")\n\t\t\tspan.sr-only Next\n"
  },
  {
    "path": "components/dropdowns.pug",
    "content": "//- Dropdown\nmixin dropdown(caption,items)\n\t.dropdown\n\t\tbutton.btn.btn-default.dropdown-toggle(type=\"button\",data-toggle=\"dropdown\")\n\t\t\t= caption\n\t\t\t| &nbsp;\n\t\t\tspan.caret\n\t\tul.dropdown-menu(role=\"menu\",aria-labelledby=\"dropdownMenu1\")\n\t\t\t- var args = Array.prototype.slice.call(arguments);\n\t\t\tfor item in args[1]\n\t\t\t\tli(role=\"presentation\")\n\t\t\t\t\ta(role=\"menuitem\",tabindex=\"-1\",href=\"#{item.url}\")= item.text\n\n//- Dropup\nmixin dropup(caption,items)\n\t.dropup\n\t\tbutton.btn.btn-default.dropdown-toggle(type=\"button\",data-toggle=\"dropdown\")\n\t\t\t= caption\n\t\t\t| &nbsp;\n\t\t\tspan.caret\n\t\tul.dropdown-menu(role=\"menu\",aria-labelledby=\"dropupMenu1\")\n\t\t\t- var args = Array.prototype.slice.call(arguments);\n\t\t\tfor item in args[1]\n\t\t\t\tli(role=\"presentation\")\n\t\t\t\t\ta(role=\"menuitem\",tabindex=\"-1\",href=\"#{item.url}\")= item.text\n"
  },
  {
    "path": "components/forms.pug",
    "content": "include icons\n//- Input control with form-group wrapper\nmixin input(type,id,placeholder,label,name)\n    .form-group\n        label(for=id) #{label}\n        input.form-control(type=type,id=id,placeholder=placeholder,name=name)\n\n//- Simple form input control without a form-group\nmixin input-simple(type,id,placeholder,name)\n    input.form-control(type=type,id=id,placeholder=placeholder,name=name)\n\n//- Checkbox - Block style\nmixin checkbox(text,name,id)\n    .checkbox\n        label\n            input(type=\"checkbox\",name=name,id=id)\n            = text\n\n//- Checkbox - Inline style\nmixin checkbox-inline(text,name,id)\n    .checkbox-inline\n        input(type=\"checkbox\",name=name,id=id)\n        = text\n\n//- Radio box\nmixin radio(text,name,id)\n    .radio\n        label\n            input(type=\"radio\",name=name,id=id)\n            = text\n\n//- Radio box - Inline style\nmixin radio-inline(text,name,id)\n    .radio-inline\n        input(type=\"radio\",name=name,id=id)\n        = text\n\n//- Submit button\nmixin submit(text,name,id)\n    .form-group\n        button.btn.btn-default(type=\"submit\",name=name,id=id)= text\n\n//- Input group - both prepend and append options available, and block is passed\nmixin input-group(prepend,append)\n    .form-group\n        .input-group\n            unless !prepend\n                .input-group-addon\n                    = prepend\n                block\n                unless !append\n                    .input-group-addon\n                        = append\n\n//- Icon button\nmixin icon-btn(icon)\n    button.btn.btn-default(type=\"button\",aria-label=icon)\n        +icon(icon)\n\n//- Badges\nmixin badge(text)\n    span.badge= text\n"
  },
  {
    "path": "components/icons.pug",
    "content": "//- Glyphicon\nmixin icon(name)\n\tspan.glyphicon(class=`glyphicon-${name}`,aria-hidden=\"true\")\n\t\nmixin icon-primary(name)\n\tspan.glyphicon.text-primary(class=`glyphicon-${name}`,aria-hidden=\"true\")\n\nmixin icon-info(name)\n\tspan.glyphicon.text-info(class=`glyphicon-${name}`,aria-hidden=\"true\")\n\t\nmixin icon-warning(name)\n\tspan.glyphicon.text-warning(class=`glyphicon-${name}`,aria-hidden=\"true\")\n\t\nmixin icon-danger(name)\n\tspan.glyphicon.text-danger(class=`glyphicon-${name}`,aria-hidden=\"true\")\n\t\nmixin icon-success(name)\n\tspan.glyphicon.text-success(class=`glyphicon-${name}`,aria-hidden=\"true\")\n\t\n"
  },
  {
    "path": "components/images.pug",
    "content": "//- Image mixins\nmixin img-responsive(_src,_alt)\n\timg.img-responsive(src=_src,alt=_alt)\n\t\nmixin img-responsive-center(_src,_alt)\n\timg.img-responsive.center-block(src=_src,alt=_alt)\n\nmixin img-rounded(_src,_alt)\n\timg.img-rounded(src=_src,alt=_alt)\n\t\nmixin img-circle(_src,_alt)\n\timg.img-circle(src=_src,alt=_alt)\n\t\nmixin img-thumbnail(_src,_alt)\n\timg.img-thumbnail(src=_src,alt=_alt)\n"
  },
  {
    "path": "components/labels.pug",
    "content": "//- Generic label\nmixin label(type,text)\n\tspan.label(class=`label-${type}`)= text\n\n//- Info label\nmixin label-default(text)\n\t+label(\"default\",text)\n\t\n//- Info label\nmixin label-info(text)\n\t+label(\"info\",text)\n\n//- Primary label\nmixin label-primary(text)\n\t+label(\"primary\",text)\n\t\n//- Success label\nmixin label-success(text)\n\t+label(\"success\",text)\n\t\n//- Warning label\nmixin label-warning(text)\n\t+label(\"warning\",text)\n\t\n//- Danger label\nmixin label-danger(text)\n\t+label(\"danger\",text)\n"
  },
  {
    "path": "components/list-groups.pug",
    "content": "//- list-group mixins\nmixin list-group(items)\n\tul.list-group\n\teach item, index in items\n\t\tli.list-group-item #{item}\n\nmixin list-group-links(items,active)\n\t.list-group\n\teach item, index in items\n\t\tif(index === active)\n\t\t\ta.list-group-item.active(href=\"#{item.url}\") #{item.text}\n\t\telse\n\t\t\ta.list-group-item(href=\"#{item.url}\") #{item.text}\n\nmixin list-group-item(url,active)\n\tif(active === \"true\")\n\t\ta.list-group-item.active(href=\"#{url}\")\n\t\t\tblock\n\telse\n\t\ta.list-group-item(href=\"#{url}\")\n\t\t\tblock\n\nmixin list-group-custom()\n\t.list-group\n\t\tblock"
  },
  {
    "path": "components/modal.pug",
    "content": "//- modal\nmixin modal(title,id)\n\t.modal.fade(id=\"#{id}\",tabindex=\"-1\",role=\"dialog\",aria-labelledby=\"#{id}Label\" aria-hidden=\"true\")\n\t\t.modal-dialog\n\t\t\t.modal-content\n\t\t\t\t.modal-header\n\t\t\t\t\tbutton.close(type=\"button\",data-dismiss=\"modal\")\n\t\t\t\t\t\tspan(aria-hidden=\"true\") &times;\n\t\t\t\t\t\tspan.sr-only Close\n\t\t\t\t\th4.modal-title(id=\"#{id}Label\")= title\n\t\t\t\t.modal-body\n\t\t\t\t\tblock\n\t\t\t\t.modal-footer\n\t\t\t\t\tbutton.btn.btn-default(type=\"button\",data-dismiss=\"modal\") Close\n"
  },
  {
    "path": "components/navbar.pug",
    "content": "//- Navbar mixins by Kezz Bracey\n//- https://github.com/tutsplus/baking-bootstrap-snippets-with-jade\n//- Author:  http://tutsplus.com/authors/kezz-bracey\nmixin navbar(name, id, style, href)\n  - var style = (typeof style === 'undefined') ? \"default\" : style\n  - var href = (typeof style === 'undefined') ? \"#\" : href\n  nav( role=\"navigation\", class=[\"navbar\", \"navbar-\" + style] )\n    .navbar-header\n      button.navbar-toggle.collapsed( type=\"button\", data-toggle=\"collapse\", data-target=\"#\" + id, aria-expanded=\"false\", aria-controls=\"navbar\")\n        span.sr-only Toggle navigation\n        span.icon-bar\n        span.icon-bar\n        span.icon-bar\n      a.navbar-brand(href=href)= name\n\n    .collapse.navbar-collapse( id=id )\n      ul.nav.navbar-nav\n        block\n\n\nmixin navbar-logo(name, id, style, href, image)\n  - var style = (typeof style === 'undefined') ? \"default\" : style\n  - var href = (typeof href === 'undefined') ? \"#\" : href\n  nav( role=\"navigation\", class=[\"navbar\", \"navbar-\" + style] )\n    .navbar-header\n      button.navbar-toggle.collapsed( type=\"button\", data-toggle=\"collapse\", data-target=\"#\" + id, aria-expanded=\"false\", aria-controls=\"navbar\")\n        span.sr-only Toggle navigation\n        span.icon-bar\n        span.icon-bar\n        span.icon-bar\n      a.navbar-brand(href=href)\n        img(alt=name, src=image)\n\n    .collapse.navbar-collapse( id=id )\n      ul.nav.navbar-nav\n        block\n\n\nmixin nav_item(href, active)\n  li(class=active): a( href=href )\n    block\n\nmixin nav_item_dropdown(href, active)\n  li(class=[\"dropdown\", active])\n    a.dropdown-toggle( href=href, data-toggle=\"dropdown\", role=\"button\", aria-expanded=\"false\" )= attributes.label\n      span.caret\n    ul.dropdown-menu( role=\"menu\" )\n        block\n\nmixin nav_divider\n  li.divider\n\nmixin nav_header\n  li.dropdown-header\n    block\n\nmixin navbar-fixed(name,id,style)\n  - var style = (typeof style === 'undefined') ? \"default\" : style\n  nav( role=\"navigation\", class=[\"navbar\",\"navbar-fixed-top\",\"navbar-\" + style] )\n    .container\n      .navbar-header\n        button.navbar-toggle.collapsed(type='button', data-toggle='collapse', data-target='#' + id, aria-expanded='false', aria-controls='navbar')\n          span.sr-only Toggle navigation\n          span.icon-bar\n          span.icon-bar\n          span.icon-bar\n        a.navbar-brand(href='#')= name\n      .collapse.navbar-collapse( id=id )\n        ul.nav.navbar-nav\n          block\n\nmixin navbar-static(name,id,style)\n  - var style = (typeof style === 'undefined') ? \"default\" : style\n  nav( role=\"navigation\", class=[\"navbar\",\"navbar-static-top\",\"navbar-\" + style] )\n    .container\n      .navbar-header\n        button.navbar-toggle.collapsed(type='button', data-toggle='collapse', data-target='#' + id, aria-expanded='false', aria-controls='navbar')\n          span.sr-only Toggle navigation\n          span.icon-bar\n          span.icon-bar\n          span.icon-bar\n        a.navbar-brand(href='#')= name\n      .collapse.navbar-collapse( id=id )\n        ul.nav.navbar-nav\n          block\n//- End navbar mixins\n"
  },
  {
    "path": "components/navs.pug",
    "content": "//- Nav mixins\nmixin nav(type,items,active)\n\tul.nav(class=\"#{type}\")\n\t\teach item,index in items\n\t\t\tif(index === active)\n\t\t\t\tli.active(role=\"presentation\")\n\t\t\t\t\ta(href=\"#{item.href}\")= item.text\n\t\t\telse\n\t\t\t\tli(role=\"presentation\")\n\t\t\t\t\ta(href=\"#{item.href}\")= item.text\n\t\t\t\t\t\n\t\t\t\t\t\nmixin nav-tabs(items,active)\n\t+nav(\"nav-tabs\",items,active)\n\t\n\t\t\t\n\nmixin nav-tabs-justified(items,active)\n\t+nav(\"nav-tabs nav-justified\",items,active)\n\t\n\nmixin nav-pills(items,active)\n\t+nav(\"nav-pills\",items,active)\n\t\t\t\t\n\t\t\t\t\t\nmixin nav-pills-justified(items,active)\n\t+nav(\"nav-pills nav-justified\",items,active)\n\t\n\nmixin nav-stacked(items,active)\n\t+nav(\"nav-pills nav-stacked\",items,active)\n\t"
  },
  {
    "path": "components/panels.pug",
    "content": "//- panel\nmixin panel(type,title)\n\t.panel(class=`panel-${type}`)\n\t\tif title !== undefined\n\t\t\t.panel-heading\n\t\t\t\th3.panel-title= title\n\t\t\t.panel-body\n\t\t\t\tblock\n\t\telse\n\t\t\t.panel-body\n\t\t\t\tblock\n\n\n//- panel-default\nmixin panel-default(title)\n\t+panel(\"default\",title)\n\t\tblock\n\n//- panel-primary\nmixin panel-primary(title)\n\t+panel(\"primary\",title)\n\t\tblock\n\t\t\n//- panel-success\nmixin panel-success(title)\n\t+panel(\"success\",title)\n\t\tblock\n\t\t\n//- panel-info\nmixin panel-info(title)\n\t+panel(\"info\",title)\n\t\tblock\n\n//- panel-warning\nmixin panel-warning(title)\n\t+panel(\"warning\",title)\n\t\tblock\n\t\t\n//- panel-danger\nmixin panel-danger(title)\n\t+panel(\"danger\",title)\n\t\tblock\n"
  },
  {
    "path": "components/progress-bars.pug",
    "content": "//- progress-bar mixins\nmixin progress-bar(value,type)\n\t-var type = type || \"\"\n\t.progress\n\t\t.progress-bar(class=`progress-bar-${type}`,role='progressbar', aria-valuenow=value, aria-valuemin='0', aria-valuemax='100', style=`width: ${value}%;`)\n\t\t\tspan.sr-only #{value}% Complete\n\nmixin progress-bar-success(value)\n\t+progress-bar(value,\"success\")\n\t\nmixin progress-bar-info(value)\n\t+progress-bar(value,\"info\")\n\t\nmixin progress-bar-warning(value)\n\t+progress-bar(value,\"warning\")\n\t\nmixin progress-bar-danger(value)\n\t+progress-bar(value,\"danger\")\n\t\nmixin progress-bar-primary(value)\n\t+progress-bar(value,\"primary\")\n\t\nmixin progress-bar-striped(value)\n\t+progress-bar(value,\"striped\")\n"
  },
  {
    "path": "components/tables.pug",
    "content": "//- table mixins\nmixin table(header,data,type)\n\t- var type = type || \"\"\n\ttable.table(class=\"#{type}\")\n\t\tthead\n\t\t\ttr\n\t\t\t\teach head, i in header\n\t\t\t\t\tth #{head}\n\t\ttbody\n\t\t\teach row,j in data\n\t\t\t\ttr\n\t\t\t\t\teach col,k in row\n\t\t\t\t\t\ttd #{col}\n\t\nmixin table-striped(header,data)\n\t+table(header,data,\"table-striped\")\n\nmixin table-bordered(header,data)\n\t+table(header,data,\"table-bordered\")\n\nmixin table-hover(header,data)\n\t+table(header,data,\"table-hover\")\n\nmixin table-condensed(header,data)\n\t+table(header,data,\"table-condensed\")\n"
  },
  {
    "path": "components/tabs.pug",
    "content": "//- Tabs\nmixin tab-list(tabs,active)\n\tul.nav.nav-tabs(role=\"tablist\")\n\t\teach item,index in tabs\n\t\t\tif (index === active)\n\t\t\t\tli.active\n\t\t\t\t\ta(href=\"#tab#{item}\",role=\"tab\",data-toggle=\"tab\")= item\n\t\t\telse\n\t\t\t\tli\n\t\t\t\t\ta(href=\"#tab#{item}\",role=\"tab\",data-toggle=\"tab\")= item\n\t.tab-content\n\t\tblock\n\t\t\n\n//- Tab pane\nmixin tab(id,active)\n\tif(active)\n\t\t.tab-pane.active(id=\"tab#{id}\")\n\t\t\tblock\n\telse\n\t\t.tab-pane(id=\"tab#{id}\")\n\t\t\tblock"
  },
  {
    "path": "components/toggle.pug",
    "content": "//- toggle\nmixin toggle(type,text)\n\tbutton.btn(class=`btn-${type}`,type=\"button\",data-toggle=\"button\",aria-pressed=\"false\",autocomplete=\"off\")\n\t\t= text\n\n//- toggle-primary\nmixin toggle-primary(text)\n\t+toggle(\"primary\",text)\n\n//- toggle-default\nmixin toggle-default(text)\n\t+toggle(\"default\",text)\n\n\n//- toggle-info\nmixin toggle-info(text)\n\t+toggle(\"info\",text)\n\n\n//- toggle-success\nmixin toggle-success(text)\n\t+toggle(\"success\",text)\n\n\n//- toggle-warning\nmixin toggle-warning(text)\n\t+toggle(\"warning\",text)\n\n\n//- toggle-danger\nmixin toggle-danger(text)\n\t+toggle(\"danger\",text)\n\n//- checkbox toggle group\nmixin checkbox-toggle(type,items,active)\n\t.btn-group(data-toggle=\"buttons\")\n\t\teach item,index in items\n\t\t\tif(index === active)\n\t\t\t\tlabel.btn.active(class=\"btn-#{type}\")\n\t\t\t\t\tinput(type=\"checkbox\",autocomplete=\"off\",checked) \n\t\t\t\t\t|  #{item.caption}\n\t\t\telse\n\t\t\t\tlabel.btn(class=\"btn-#{type}\")\n\t\t\t\t\tinput(type=\"checkbox\",autocomplete=\"off\") \n\t\t\t\t\t|  #{item.caption}\n\n//- checkbox-toggle-primary\nmixin checkbox-toggle-primary(items,active)\n\t+checkbox-toggle(\"primary\",items,active)\n\n//- checkbox-toggle-info\nmixin checkbox-toggle-info(items,active)\n\t+checkbox-toggle(\"info\",items,active)\n\t\n//- checkbox-toggle-success\nmixin checkbox-toggle-success(items,active)\n\t+checkbox-toggle(\"success\",items,active)\n\t\n//- checkbox-toggle-warning\nmixin checkbox-toggle-warning(items,active)\n\t+checkbox-toggle(\"warning\",items,active)\n\t\n//- checkbox-toggle-danger\nmixin checkbox-toggle-danger(items,active)\n\t+checkbox-toggle(\"danger\",items,active)\n\t\n//- checkbox-toggle-default\nmixin checkbox-toggle-default(items,active)\n\t+checkbox-toggle(\"default\",items,active)\n\t\n\n//- radio toggle group\nmixin radio-toggle(type,name,items,active)\n\t.btn-group(data-toggle=\"buttons\")\n\t\teach item,index in items\n\t\t\tif(index === active)\n\t\t\t\tlabel.btn.active(class=\"btn-#{type}\")\n\t\t\t\t\tinput(type=\"radio\",name=\"#{name}\",autocomplete=\"off\",checked) \n\t\t\t\t\t|  #{item.caption}\n\t\t\telse\n\t\t\t\tlabel.btn(class=\"btn-#{type}\")\n\t\t\t\t\tinput(type=\"radio\",name=\"#{name}\",autocomplete=\"off\") \n\t\t\t\t\t|  #{item.caption}\n\n//- radio-toggle-primary\nmixin radio-toggle-primary(name,items,active)\n\t+radio-toggle(\"primary\",name,items,active)\n\n//- radio-toggle-info\nmixin radio-toggle-info(name,items,active)\n\t+radio-toggle(\"info\",name,items,active)\n\t\n//- radio-toggle-success\nmixin radio-toggle-success(name,items,active)\n\t+radio-toggle(\"success\",name,items,active)\n\t\n//- radio-toggle-warning\nmixin radio-toggle-warning(name,items,active)\n\t+radio-toggle(\"warning\",name,items,active)\n\t\n//- radio-toggle-danger\nmixin radio-toggle-danger(name,items,active)\n\t+radio-toggle(\"danger\",name,items,active)\n\t\n//- radio-toggle-default\nmixin radio-toggle-default(name,items,active)\n\t+radio-toggle(\"default\",name,items,active)\n\t\n\n"
  },
  {
    "path": "components/tooltips.pug",
    "content": "//- tooltip\nmixin tooltip(text,tooltip,placement)\n\ta(href=\"#\",data-toggle=\"tooltip\",data-placement=placement,title=tooltip)= text\n\n//- tooltip-left\nmixin tooltip-left(text,tooltip)\n\t+tooltip(text,tooltip,\"left\")\n\t\n//- tooltip-right\nmixin tooltip-right(text,tooltip)\n\t+tooltip(text,tooltip,\"right\")\n\t\n//- tooltip-top\nmixin tooltip-top(text,tooltip)\n\t+tooltip(text,tooltip,\"top\")\n\t\n//- tooltip-bottom\nmixin tooltip-bottom(text,tooltip)\n\t+tooltip(text,tooltip,\"bottom\")\n"
  },
  {
    "path": "css/blog.css",
    "content": "/*\n * Globals\n */\n\nbody {\n  font-family: Georgia, \"Times New Roman\", Times, serif;\n  color: #555;\n}\n\nh1, .h1,\nh2, .h2,\nh3, .h3,\nh4, .h4,\nh5, .h5,\nh6, .h6 {\n  margin-top: 0;\n  font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n  font-weight: normal;\n  color: #333;\n}\n\n\n/*\n * Override Bootstrap's default container.\n */\n\n@media (min-width: 1200px) {\n  .container {\n    width: 970px;\n  }\n}\n\n\n/*\n * Masthead for nav\n */\n\n.blog-masthead {\n  background-color: #428bca;\n  -webkit-box-shadow: inset 0 -2px 5px rgba(0,0,0,.1);\n          box-shadow: inset 0 -2px 5px rgba(0,0,0,.1);\n}\n\n/* Nav links */\n.blog-nav-item {\n  position: relative;\n  display: inline-block;\n  padding: 10px;\n  font-weight: 500;\n  color: #cdddeb;\n}\n.blog-nav-item:hover,\n.blog-nav-item:focus {\n  color: #fff;\n  text-decoration: none;\n}\n\n/* Active state gets a caret at the bottom */\n.blog-nav .active {\n  color: #fff;\n}\n.blog-nav .active:after {\n  position: absolute;\n  bottom: 0;\n  left: 50%;\n  width: 0;\n  height: 0;\n  margin-left: -5px;\n  vertical-align: middle;\n  content: \" \";\n  border-right: 5px solid transparent;\n  border-bottom: 5px solid;\n  border-left: 5px solid transparent;\n}\n\n\n/*\n * Blog name and description\n */\n\n.blog-header {\n  padding-top: 20px;\n  padding-bottom: 20px;\n}\n.blog-title {\n  margin-top: 30px;\n  margin-bottom: 0;\n  font-size: 60px;\n  font-weight: normal;\n}\n.blog-description {\n  font-size: 20px;\n  color: #999;\n}\n\n\n/*\n * Main column and sidebar layout\n */\n\n.blog-main {\n  font-size: 18px;\n  line-height: 1.5;\n}\n\n/* Sidebar modules for boxing content */\n.sidebar-module {\n  padding: 15px;\n  margin: 0 -15px 15px;\n}\n.sidebar-module-inset {\n  padding: 15px;\n  background-color: #f5f5f5;\n  border-radius: 4px;\n}\n.sidebar-module-inset p:last-child,\n.sidebar-module-inset ul:last-child,\n.sidebar-module-inset ol:last-child {\n  margin-bottom: 0;\n}\n\n\n/* Pagination */\n.pager {\n  margin-bottom: 60px;\n  text-align: left;\n}\n.pager > li > a {\n  width: 140px;\n  padding: 10px 20px;\n  text-align: center;\n  border-radius: 30px;\n}\n\n\n/*\n * Blog posts\n */\n\n.blog-post {\n  margin-bottom: 60px;\n}\n.blog-post-title {\n  margin-bottom: 5px;\n  font-size: 40px;\n}\n.blog-post-meta {\n  margin-bottom: 20px;\n  color: #999;\n}\n\n\n/*\n * Footer\n */\n\n.blog-footer {\n  padding: 40px 0;\n  color: #999;\n  text-align: center;\n  background-color: #f9f9f9;\n  border-top: 1px solid #e5e5e5;\n}\n.blog-footer p:last-child {\n  margin-bottom: 0;\n}\n"
  },
  {
    "path": "css/carousel.css",
    "content": "/* GLOBAL STYLES\n-------------------------------------------------- */\n/* Padding below the footer and lighter body text */\n\nbody {\n  padding-bottom: 40px;\n  color: #5a5a5a;\n}\n\n\n/* CUSTOMIZE THE NAVBAR\n-------------------------------------------------- */\n\n/* Special class on .container surrounding .navbar, used for positioning it into place. */\n.navbar-wrapper {\n  position: absolute;\n  top: 0;\n  right: 0;\n  left: 0;\n  z-index: 20;\n}\n\n/* Flip around the padding for proper display in narrow viewports */\n.navbar-wrapper > .container {\n  padding-right: 0;\n  padding-left: 0;\n}\n.navbar-wrapper .navbar {\n  padding-right: 15px;\n  padding-left: 15px;\n}\n.navbar-wrapper .navbar .container {\n  width: auto;\n}\n\n\n/* CUSTOMIZE THE CAROUSEL\n-------------------------------------------------- */\n\n/* Carousel base class */\n.carousel {\n  height: 500px;\n  margin-bottom: 60px;\n}\n/* Since positioning the image, we need to help out the caption */\n.carousel-caption {\n  z-index: 10;\n}\n\n/* Declare heights because of positioning of img element */\n.carousel .item {\n  height: 500px;\n  background-color: #777;\n}\n.carousel-inner > .item > img {\n  position: absolute;\n  top: 0;\n  left: 0;\n  min-width: 100%;\n  height: 500px;\n}\n\n\n/* MARKETING CONTENT\n-------------------------------------------------- */\n\n/* Center align the text within the three columns below the carousel */\n.marketing .col-lg-4 {\n  margin-bottom: 20px;\n  text-align: center;\n}\n.marketing h2 {\n  font-weight: normal;\n}\n.marketing .col-lg-4 p {\n  margin-right: 10px;\n  margin-left: 10px;\n}\n\n\n/* Featurettes\n------------------------- */\n\n.featurette-divider {\n  margin: 80px 0; /* Space out the Bootstrap <hr> more */\n}\n\n/* Thin out the marketing headings */\n.featurette-heading {\n  font-weight: 300;\n  line-height: 1;\n  letter-spacing: -1px;\n}\n\n\n/* RESPONSIVE CSS\n-------------------------------------------------- */\n\n@media (min-width: 768px) {\n  /* Navbar positioning foo */\n  .navbar-wrapper {\n    margin-top: 20px;\n  }\n  .navbar-wrapper .container {\n    padding-right: 15px;\n    padding-left: 15px;\n  }\n  .navbar-wrapper .navbar {\n    padding-right: 0;\n    padding-left: 0;\n  }\n\n  /* The navbar becomes detached from the top, so we round the corners */\n  .navbar-wrapper .navbar {\n    border-radius: 4px;\n  }\n\n  /* Bump up size of carousel content */\n  .carousel-caption p {\n    margin-bottom: 20px;\n    font-size: 21px;\n    line-height: 1.4;\n  }\n\n  .featurette-heading {\n    font-size: 50px;\n  }\n}\n\n@media (min-width: 992px) {\n  .featurette-heading {\n    margin-top: 120px;\n  }\n}"
  },
  {
    "path": "css/codemirror.css",
    "content": "/* BASICS */\n\n.CodeMirror {\n  /* Set height, width, borders, and global font properties here */\n  font-family: monospace;\n  height: 300px;\n  color: black;\n}\n\n/* PADDING */\n\n.CodeMirror-lines {\n  padding: 4px 0; /* Vertical padding around content */\n}\n.CodeMirror pre {\n  padding: 0 4px; /* Horizontal padding of content */\n}\n\n.CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler {\n  background-color: white; /* The little square between H and V scrollbars */\n}\n\n/* GUTTER */\n\n.CodeMirror-gutters {\n  border-right: 1px solid #ddd;\n  background-color: #f7f7f7;\n  white-space: nowrap;\n}\n.CodeMirror-linenumbers {}\n.CodeMirror-linenumber {\n  padding: 0 3px 0 5px;\n  min-width: 20px;\n  text-align: right;\n  color: #999;\n  white-space: nowrap;\n}\n\n.CodeMirror-guttermarker { color: black; }\n.CodeMirror-guttermarker-subtle { color: #999; }\n\n/* CURSOR */\n\n.CodeMirror div.CodeMirror-cursor {\n  border-left: 1px solid black;\n}\n/* Shown when moving in bi-directional text */\n.CodeMirror div.CodeMirror-secondarycursor {\n  border-left: 1px solid silver;\n}\n.CodeMirror.cm-fat-cursor div.CodeMirror-cursor {\n  width: auto;\n  border: 0;\n  background: #7e7;\n}\n.CodeMirror.cm-fat-cursor div.CodeMirror-cursors {\n  z-index: 1;\n}\n\n.cm-animate-fat-cursor {\n  width: auto;\n  border: 0;\n  -webkit-animation: blink 1.06s steps(1) infinite;\n  -moz-animation: blink 1.06s steps(1) infinite;\n  animation: blink 1.06s steps(1) infinite;\n}\n@-moz-keyframes blink {\n  0% { background: #7e7; }\n  50% { background: none; }\n  100% { background: #7e7; }\n}\n@-webkit-keyframes blink {\n  0% { background: #7e7; }\n  50% { background: none; }\n  100% { background: #7e7; }\n}\n@keyframes blink {\n  0% { background: #7e7; }\n  50% { background: none; }\n  100% { background: #7e7; }\n}\n\n/* Can style cursor different in overwrite (non-insert) mode */\ndiv.CodeMirror-overwrite div.CodeMirror-cursor {}\n\n.cm-tab { display: inline-block; text-decoration: inherit; }\n\n.CodeMirror-ruler {\n  border-left: 1px solid #ccc;\n  position: absolute;\n}\n\n/* DEFAULT THEME */\n\n.cm-s-default .cm-keyword {color: #708;}\n.cm-s-default .cm-atom {color: #219;}\n.cm-s-default .cm-number {color: #164;}\n.cm-s-default .cm-def {color: #00f;}\n.cm-s-default .cm-variable,\n.cm-s-default .cm-punctuation,\n.cm-s-default .cm-property,\n.cm-s-default .cm-operator {}\n.cm-s-default .cm-variable-2 {color: #05a;}\n.cm-s-default .cm-variable-3 {color: #085;}\n.cm-s-default .cm-comment {color: #a50;}\n.cm-s-default .cm-string {color: #a11;}\n.cm-s-default .cm-string-2 {color: #f50;}\n.cm-s-default .cm-meta {color: #555;}\n.cm-s-default .cm-qualifier {color: #555;}\n.cm-s-default .cm-builtin {color: #30a;}\n.cm-s-default .cm-bracket {color: #997;}\n.cm-s-default .cm-tag {color: #170;}\n.cm-s-default .cm-attribute {color: #00c;}\n.cm-s-default .cm-header {color: blue;}\n.cm-s-default .cm-quote {color: #090;}\n.cm-s-default .cm-hr {color: #999;}\n.cm-s-default .cm-link {color: #00c;}\n\n.cm-negative {color: #d44;}\n.cm-positive {color: #292;}\n.cm-header, .cm-strong {font-weight: bold;}\n.cm-em {font-style: italic;}\n.cm-link {text-decoration: underline;}\n.cm-strikethrough {text-decoration: line-through;}\n\n.cm-s-default .cm-error {color: #f00;}\n.cm-invalidchar {color: #f00;}\n\n.CodeMirror-composing { border-bottom: 2px solid; }\n\n/* Default styles for common addons */\n\ndiv.CodeMirror span.CodeMirror-matchingbracket {color: #0f0;}\ndiv.CodeMirror span.CodeMirror-nonmatchingbracket {color: #f22;}\n.CodeMirror-matchingtag { background: rgba(255, 150, 0, .3); }\n.CodeMirror-activeline-background {background: #e8f2ff;}\n\n/* STOP */\n\n/* The rest of this file contains styles related to the mechanics of\n   the editor. You probably shouldn't touch them. */\n\n.CodeMirror {\n  position: relative;\n  overflow: hidden;\n  background: white;\n}\n\n.CodeMirror-scroll {\n  overflow: scroll !important; /* Things will break if this is overridden */\n  /* 30px is the magic margin used to hide the element's real scrollbars */\n  /* See overflow: hidden in .CodeMirror */\n  margin-bottom: -30px; margin-right: -30px;\n  padding-bottom: 30px;\n  height: 100%;\n  outline: none; /* Prevent dragging from highlighting the element */\n  position: relative;\n}\n.CodeMirror-sizer {\n  position: relative;\n  border-right: 30px solid transparent;\n}\n\n/* The fake, visible scrollbars. Used to force redraw during scrolling\n   before actuall scrolling happens, thus preventing shaking and\n   flickering artifacts. */\n.CodeMirror-vscrollbar, .CodeMirror-hscrollbar, .CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler {\n  position: absolute;\n  z-index: 6;\n  display: none;\n}\n.CodeMirror-vscrollbar {\n  right: 0; top: 0;\n  overflow-x: hidden;\n  overflow-y: scroll;\n}\n.CodeMirror-hscrollbar {\n  bottom: 0; left: 0;\n  overflow-y: hidden;\n  overflow-x: scroll;\n}\n.CodeMirror-scrollbar-filler {\n  right: 0; bottom: 0;\n}\n.CodeMirror-gutter-filler {\n  left: 0; bottom: 0;\n}\n\n.CodeMirror-gutters {\n  position: absolute; left: 0; top: 0;\n  z-index: 3;\n}\n.CodeMirror-gutter {\n  white-space: normal;\n  height: 100%;\n  display: inline-block;\n  margin-bottom: -30px;\n  /* Hack to make IE7 behave */\n  *zoom:1;\n  *display:inline;\n}\n.CodeMirror-gutter-wrapper {\n  position: absolute;\n  z-index: 4;\n  height: 100%;\n}\n.CodeMirror-gutter-elt {\n  position: absolute;\n  cursor: default;\n  z-index: 4;\n}\n.CodeMirror-gutter-wrapper {\n  -webkit-user-select: none;\n  -moz-user-select: none;\n  user-select: none;\n}\n\n.CodeMirror-lines {\n  cursor: text;\n  min-height: 1px; /* prevents collapsing before first draw */\n}\n.CodeMirror pre {\n  /* Reset some styles that the rest of the page might have set */\n  -moz-border-radius: 0; -webkit-border-radius: 0; border-radius: 0;\n  border-width: 0;\n  background: transparent;\n  font-family: inherit;\n  font-size: inherit;\n  margin: 0;\n  white-space: pre;\n  word-wrap: normal;\n  line-height: inherit;\n  color: inherit;\n  z-index: 2;\n  position: relative;\n  overflow: visible;\n  -webkit-tap-highlight-color: transparent;\n}\n.CodeMirror-wrap pre {\n  word-wrap: break-word;\n  white-space: pre-wrap;\n  word-break: normal;\n}\n\n.CodeMirror-linebackground {\n  position: absolute;\n  left: 0; right: 0; top: 0; bottom: 0;\n  z-index: 0;\n}\n\n.CodeMirror-linewidget {\n  position: relative;\n  z-index: 2;\n  overflow: auto;\n}\n\n.CodeMirror-widget {}\n\n.CodeMirror-code {\n  outline: none;\n}\n\n/* Force content-box sizing for the elements where we expect it */\n.CodeMirror-scroll,\n.CodeMirror-sizer,\n.CodeMirror-gutter,\n.CodeMirror-gutters,\n.CodeMirror-linenumber {\n  -moz-box-sizing: content-box;\n  box-sizing: content-box;\n}\n\n.CodeMirror-measure {\n  position: absolute;\n  width: 100%;\n  height: 0;\n  overflow: hidden;\n  visibility: hidden;\n}\n.CodeMirror-measure pre { position: static; }\n\n.CodeMirror div.CodeMirror-cursor {\n  position: absolute;\n  border-right: none;\n  width: 0;\n}\n\ndiv.CodeMirror-cursors {\n  visibility: hidden;\n  position: relative;\n  z-index: 3;\n}\n.CodeMirror-focused div.CodeMirror-cursors {\n  visibility: visible;\n}\n\n.CodeMirror-selected { background: #d9d9d9; }\n.CodeMirror-focused .CodeMirror-selected { background: #d7d4f0; }\n.CodeMirror-crosshair { cursor: crosshair; }\n.CodeMirror ::selection { background: #d7d4f0; }\n.CodeMirror ::-moz-selection { background: #d7d4f0; }\n\n.cm-searching {\n  background: #ffa;\n  background: rgba(255, 255, 0, .4);\n}\n\n/* IE7 hack to prevent it from returning funny offsetTops on the spans */\n.CodeMirror span { *vertical-align: text-bottom; }\n\n/* Used to force a border model for a node */\n.cm-force-border { padding-right: .1px; }\n\n@media print {\n  /* Hide the cursor when printing */\n  .CodeMirror div.CodeMirror-cursors {\n    visibility: hidden;\n  }\n}\n\n/* See issue #2901 */\n.cm-tab-wrap-hack:after { content: ''; }\n\n/* Help users use markselection to safely style text background */\nspan.CodeMirror-selectedtext { background: none; }\n"
  },
  {
    "path": "css/cover.css",
    "content": "/*\n * Globals\n */\n\n/* Links */\na,\na:focus,\na:hover {\n  color: #fff;\n}\n\n/* Custom default button */\n.btn-default,\n.btn-default:hover,\n.btn-default:focus {\n  color: #333;\n  text-shadow: none; /* Prevent inheritence from `body` */\n  background-color: #fff;\n  border: 1px solid #fff;\n}\n\n\n/*\n * Base structure\n */\n\nhtml,\nbody {\n  height: 100%;\n  background-color: #333;\n}\nbody {\n  color: #fff;\n  text-align: center;\n  text-shadow: 0 1px 3px rgba(0,0,0,.5);\n}\n\n/* Extra markup and styles for table-esque vertical and horizontal centering */\n.site-wrapper {\n  display: table;\n  width: 100%;\n  height: 100%; /* For at least Firefox */\n  min-height: 100%;\n  -webkit-box-shadow: inset 0 0 100px rgba(0,0,0,.5);\n          box-shadow: inset 0 0 100px rgba(0,0,0,.5);\n}\n.site-wrapper-inner {\n  display: table-cell;\n  vertical-align: top;\n}\n.cover-container {\n  margin-right: auto;\n  margin-left: auto;\n}\n\n/* Padding for spacing */\n.inner {\n  padding: 30px;\n}\n\n\n/*\n * Header\n */\n.masthead-brand {\n  margin-top: 10px;\n  margin-bottom: 10px;\n}\n\n.masthead-nav > li {\n  display: inline-block;\n}\n.masthead-nav > li + li {\n  margin-left: 20px;\n}\n.masthead-nav > li > a {\n  padding-right: 0;\n  padding-left: 0;\n  font-size: 16px;\n  font-weight: bold;\n  color: #fff; /* IE8 proofing */\n  color: rgba(255,255,255,.75);\n  border-bottom: 2px solid transparent;\n}\n.masthead-nav > li > a:hover,\n.masthead-nav > li > a:focus {\n  background-color: transparent;\n  border-bottom-color: #a9a9a9;\n  border-bottom-color: rgba(255,255,255,.25);\n}\n.masthead-nav > .active > a,\n.masthead-nav > .active > a:hover,\n.masthead-nav > .active > a:focus {\n  color: #fff;\n  border-bottom-color: #fff;\n}\n\n@media (min-width: 768px) {\n  .masthead-brand {\n    float: left;\n  }\n  .masthead-nav {\n    float: right;\n  }\n}\n\n\n/*\n * Cover\n */\n\n.cover {\n  padding: 0 20px;\n}\n.cover .btn-lg {\n  padding: 10px 20px;\n  font-weight: bold;\n}\n\n\n/*\n * Footer\n */\n\n.mastfoot {\n  color: #999; /* IE8 proofing */\n  color: rgba(255,255,255,.5);\n}\n\n\n/*\n * Affix and center\n */\n\n@media (min-width: 768px) {\n  /* Pull out the header and footer */\n  .masthead {\n    position: fixed;\n    top: 0;\n  }\n  .mastfoot {\n    position: fixed;\n    bottom: 0;\n  }\n  /* Start the vertical centering */\n  .site-wrapper-inner {\n    vertical-align: middle;\n  }\n  /* Handle the widths */\n  .masthead,\n  .mastfoot,\n  .cover-container {\n    width: 100%; /* Must be percentage or pixels for horizontal alignment */\n  }\n}\n\n@media (min-width: 992px) {\n  .masthead,\n  .mastfoot,\n  .cover-container {\n    width: 700px;\n  }\n}"
  },
  {
    "path": "css/dashboard.css",
    "content": "/*\n * Base structure\n */\n\n/* Move down content because we have a fixed navbar that is 50px tall */\nbody {\n  padding-top: 50px;\n}\n\n\n/*\n * Global add-ons\n */\n\n.sub-header {\n  padding-bottom: 10px;\n  border-bottom: 1px solid #eee;\n}\n\n/*\n * Top navigation\n * Hide default border to remove 1px line.\n */\n.navbar-fixed-top {\n  border: 0;\n}\n\n/*\n * Sidebar\n */\n\n/* Hide for mobile, show later */\n.sidebar {\n  display: none;\n}\n@media (min-width: 768px) {\n  .sidebar {\n    position: fixed;\n    top: 51px;\n    bottom: 0;\n    left: 0;\n    z-index: 1000;\n    display: block;\n    padding: 20px;\n    overflow-x: hidden;\n    overflow-y: auto; /* Scrollable contents if viewport is shorter than content. */\n    background-color: #f5f5f5;\n    border-right: 1px solid #eee;\n  }\n}\n\n/* Sidebar navigation */\n.nav-sidebar {\n  margin-right: -21px; /* 20px padding + 1px border */\n  margin-bottom: 20px;\n  margin-left: -20px;\n}\n.nav-sidebar > li > a {\n  padding-right: 20px;\n  padding-left: 20px;\n}\n.nav-sidebar > .active > a,\n.nav-sidebar > .active > a:hover,\n.nav-sidebar > .active > a:focus {\n  color: #fff;\n  background-color: #428bca;\n}\n\n\n/*\n * Main content\n */\n\n.main {\n  padding: 20px;\n}\n@media (min-width: 768px) {\n  .main {\n    padding-right: 40px;\n    padding-left: 40px;\n  }\n}\n.main .page-header {\n  margin-top: 0;\n}\n\n\n/*\n * Placeholder dashboard ideas\n */\n\n.placeholders {\n  margin-bottom: 30px;\n  text-align: center;\n}\n.placeholders h4 {\n  margin-bottom: 0;\n}\n.placeholder {\n  margin-bottom: 20px;\n}\n.placeholder img {\n  display: inline-block;\n  border-radius: 50%;\n}\n"
  },
  {
    "path": "css/jumbotron-narrow.css",
    "content": "/* Space out content a bit */\nbody {\n  padding-top: 20px;\n  padding-bottom: 20px;\n}\n\n/* Everything but the jumbotron gets side spacing for mobile first views */\n.header,\n.marketing,\n.footer {\n  padding-right: 15px;\n  padding-left: 15px;\n}\n\n/* Custom page header */\n.header {\n  padding-bottom: 20px;\n  border-bottom: 1px solid #e5e5e5;\n}\n/* Make the masthead heading the same height as the navigation */\n.header h3 {\n  margin-top: 0;\n  margin-bottom: 0;\n  line-height: 40px;\n}\n\n/* Custom page footer */\n.footer {\n  padding-top: 19px;\n  color: #777;\n  border-top: 1px solid #e5e5e5;\n}\n\n/* Customize container */\n@media (min-width: 768px) {\n  .container {\n    max-width: 730px;\n  }\n}\n.container-narrow > hr {\n  margin: 30px 0;\n}\n\n/* Main marketing message and sign up button */\n.jumbotron {\n  text-align: center;\n  border-bottom: 1px solid #e5e5e5;\n}\n.jumbotron .btn {\n  padding: 14px 24px;\n  font-size: 21px;\n}\n\n/* Supporting marketing content */\n.marketing {\n  margin: 40px 0;\n}\n.marketing p + h4 {\n  margin-top: 28px;\n}\n\n/* Responsive: Portrait tablets and up */\n@media screen and (min-width: 768px) {\n  /* Remove the padding we set earlier */\n  .header,\n  .marketing,\n  .footer {\n    padding-right: 0;\n    padding-left: 0;\n  }\n  /* Space out the masthead */\n  .header {\n    margin-bottom: 30px;\n  }\n  /* Remove the bottom border on the jumbotron for visual effect */\n  .jumbotron {\n    border-bottom: 0;\n  }\n}"
  },
  {
    "path": "css/jumbotron.css",
    "content": "/* Move down content because we have a fixed navbar that is 50px tall */\nbody {\n  padding-top: 50px;\n  padding-bottom: 20px;\n}"
  },
  {
    "path": "css/justified-nav.css",
    "content": "body {\n  padding-top: 20px;\n}\n\n.footer {\n  padding-top: 40px;\n  padding-bottom: 40px;\n  margin-top: 40px;\n  border-top: 1px solid #eee;\n}\n\n/* Main marketing message and sign up button */\n.jumbotron {\n  text-align: center;\n  background-color: transparent;\n}\n.jumbotron .btn {\n  padding: 14px 24px;\n  font-size: 21px;\n}\n\n/* Customize the nav-justified links to be fill the entire space of the .navbar */\n\n.nav-justified {\n  background-color: #eee;\n  border: 1px solid #ccc;\n  border-radius: 5px;\n}\n.nav-justified > li > a {\n  padding-top: 15px;\n  padding-bottom: 15px;\n  margin-bottom: 0;\n  font-weight: bold;\n  color: #777;\n  text-align: center;\n  background-color: #e5e5e5; /* Old browsers */\n  background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e5e5e5));\n  background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e5e5e5 100%);\n  background-image:      -o-linear-gradient(top, #f5f5f5 0%, #e5e5e5 100%);\n  background-image: -webkit-gradient(linear, left top, left bottom, from(top), color-stop(0%, #f5f5f5), to(#e5e5e5));\n  background-image:         linear-gradient(top, #f5f5f5 0%, #e5e5e5 100%);\n  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f5f5f5', endColorstr='#e5e5e5',GradientType=0 ); /* IE6-9 */\n  background-repeat: repeat-x; /* Repeat the gradient */\n  border-bottom: 1px solid #d5d5d5;\n}\n.nav-justified > .active > a,\n.nav-justified > .active > a:hover,\n.nav-justified > .active > a:focus {\n  background-color: #ddd;\n  background-image: none;\n  -webkit-box-shadow: inset 0 3px 7px rgba(0,0,0,.15);\n          box-shadow: inset 0 3px 7px rgba(0,0,0,.15);\n}\n.nav-justified > li:first-child > a {\n  border-radius: 5px 5px 0 0;\n}\n.nav-justified > li:last-child > a {\n  border-bottom: 0;\n  border-radius: 0 0 5px 5px;\n}\n\n@media (min-width: 768px) {\n  .nav-justified {\n    max-height: 52px;\n  }\n  .nav-justified > li > a {\n    border-right: 1px solid #d5d5d5;\n    border-left: 1px solid #fff;\n  }\n  .nav-justified > li:first-child > a {\n    border-left: 0;\n    border-radius: 5px 0 0 5px;\n  }\n  .nav-justified > li:last-child > a {\n    border-right: 0;\n    border-radius: 0 5px 5px 0;\n  }\n}\n\n/* Responsive: Portrait tablets and up */\n@media screen and (min-width: 768px) {\n  /* Remove the padding we set earlier */\n  .masthead,\n  .marketing,\n  .footer {\n    padding-right: 0;\n    padding-left: 0;\n  }\n}\n"
  },
  {
    "path": "css/navbar-fixed-top.css",
    "content": "body {\n  min-height: 2000px;\n  padding-top: 70px;\n}"
  },
  {
    "path": "css/navbar-static-top.css",
    "content": "body {\n  min-height: 2000px;\n}\n\n.navbar-static-top {\n  margin-bottom: 19px;\n}"
  },
  {
    "path": "css/navbar.css",
    "content": "body {\n  padding-top: 20px;\n  padding-bottom: 20px;\n}\n\n.navbar {\n  margin-bottom: 20px;\n}"
  },
  {
    "path": "css/non-responsive.css",
    "content": "/* Template-specific stuff\n *\n * Customizations just for the template; these are not necessary for anything\n * with disabling the responsiveness.\n */\n\n/* Account for fixed navbar */\nbody {\n  padding-top: 70px;\n  padding-bottom: 30px;\n}\n\nbody,\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n  min-width: 970px;\n}\n\n/* Don't let the lead text change font-size. */\n.lead {\n  font-size: 16px;\n}\n\n/* Finesse the page header spacing */\n.page-header {\n  margin-bottom: 30px;\n}\n.page-header .lead {\n  margin-bottom: 10px;\n}\n\n\n/* Non-responsive overrides\n *\n * Utilize the following CSS to disable the responsive-ness of the container,\n * grid system, and navbar.\n */\n\n/* Reset the container */\n.container {\n  width: 970px;\n  max-width: none !important;\n}\n\n/* Demonstrate the grids */\n.col-xs-4 {\n  padding-top: 15px;\n  padding-bottom: 15px;\n  background-color: #eee;\n  background-color: rgba(86,61,124,.15);\n  border: 1px solid #ddd;\n  border: 1px solid rgba(86,61,124,.2);\n}\n\n.container .navbar-header,\n.container .navbar-collapse {\n  margin-right: 0;\n  margin-left: 0;\n}\n\n/* Always float the navbar header */\n.navbar-header {\n  float: left;\n}\n\n/* Undo the collapsing navbar */\n.navbar-collapse {\n  display: block !important;\n  height: auto !important;\n  padding-bottom: 0;\n  overflow: visible !important;\n  visibility: visible !important;\n}\n\n.navbar-toggle {\n  display: none;\n}\n.navbar-collapse {\n  border-top: 0;\n}\n\n.navbar-brand {\n  margin-left: -15px;\n}\n\n/* Always apply the floated nav */\n.navbar-nav {\n  float: left;\n  margin: 0;\n}\n.navbar-nav > li {\n  float: left;\n}\n.navbar-nav > li > a {\n  padding: 15px;\n}\n\n/* Redeclare since we override the float above */\n.navbar-nav.navbar-right {\n  float: right;\n}\n\n/* Undo custom dropdowns */\n.navbar .navbar-nav .open .dropdown-menu {\n  position: absolute;\n  float: left;\n  background-color: #fff;\n  border: 1px solid #ccc;\n  border: 1px solid rgba(0, 0, 0, .15);\n  border-width: 0 1px 1px;\n  border-radius: 0 0 4px 4px;\n  -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, .175);\n          box-shadow: 0 6px 12px rgba(0, 0, 0, .175);\n}\n.navbar-default .navbar-nav .open .dropdown-menu > li > a {\n  color: #333;\n}\n.navbar .navbar-nav .open .dropdown-menu > li > a:hover,\n.navbar .navbar-nav .open .dropdown-menu > li > a:focus,\n.navbar .navbar-nav .open .dropdown-menu > .active > a,\n.navbar .navbar-nav .open .dropdown-menu > .active > a:hover,\n.navbar .navbar-nav .open .dropdown-menu > .active > a:focus {\n  color: #fff !important;\n  background-color: #428bca !important;\n}\n.navbar .navbar-nav .open .dropdown-menu > .disabled > a,\n.navbar .navbar-nav .open .dropdown-menu > .disabled > a:hover,\n.navbar .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n  color: #999 !important;\n  background-color: transparent !important;\n}\n\n/* Undo form expansion */\n.navbar-form {\n  float: left;\n  width: auto;\n  padding-top: 0;\n  padding-bottom: 0;\n  margin-right: 0;\n  margin-left: 0;\n  border: 0;\n  -webkit-box-shadow: none;\n          box-shadow: none;\n}\n\n/* Copy-pasted from forms.less since we mixin the .form-inline styles. */\n.navbar-form .form-group {\n  display: inline-block;\n  margin-bottom: 0;\n  vertical-align: middle;\n}\n\n.navbar-form .form-control {\n  display: inline-block;\n  width: auto;\n  vertical-align: middle;\n}\n\n.navbar-form .form-control-static {\n  display: inline-block;\n}\n\n.navbar-form .input-group {\n  display: inline-table;\n  vertical-align: middle;\n}\n\n.navbar-form .input-group .input-group-addon,\n.navbar-form .input-group .input-group-btn,\n.navbar-form .input-group .form-control {\n  width: auto;\n}\n\n.navbar-form .input-group > .form-control {\n  width: 100%;\n}\n\n.navbar-form .control-label {\n  margin-bottom: 0;\n  vertical-align: middle;\n}\n\n.navbar-form .radio,\n.navbar-form .checkbox {\n  display: inline-block;\n  margin-top: 0;\n  margin-bottom: 0;\n  vertical-align: middle;\n}\n\n.navbar-form .radio label,\n.navbar-form .checkbox label {\n  padding-left: 0;\n}\n\n.navbar-form .radio input[type=\"radio\"],\n.navbar-form .checkbox input[type=\"checkbox\"] {\n  position: relative;\n  margin-left: 0;\n}\n\n.navbar-form .has-feedback .form-control-feedback {\n  top: 0;\n}\n"
  },
  {
    "path": "css/offcanvas.css",
    "content": "/*\n * Style tweaks\n * --------------------------------------------------\n */\nhtml,\nbody {\n  overflow-x: hidden; /* Prevent scroll on narrow devices */\n}\nbody {\n  padding-top: 70px;\n}\nfooter {\n  padding: 30px 0;\n}\n\n/*\n * Off Canvas\n * --------------------------------------------------\n */\n@media screen and (max-width: 767px) {\n  .row-offcanvas {\n    position: relative;\n    -webkit-transition: all .25s ease-out;\n         -o-transition: all .25s ease-out;\n            transition: all .25s ease-out;\n  }\n\n  .row-offcanvas-right {\n    right: 0;\n  }\n\n  .row-offcanvas-left {\n    left: 0;\n  }\n\n  .row-offcanvas-right\n  .sidebar-offcanvas {\n    right: -50%; /* 6 columns */\n  }\n\n  .row-offcanvas-left\n  .sidebar-offcanvas {\n    left: -50%; /* 6 columns */\n  }\n\n  .row-offcanvas-right.active {\n    right: 50%; /* 6 columns */\n  }\n\n  .row-offcanvas-left.active {\n    left: 50%; /* 6 columns */\n  }\n\n  .sidebar-offcanvas {\n    position: absolute;\n    top: 0;\n    width: 50%; /* 6 columns */\n  }\n}\n"
  },
  {
    "path": "css/signin.css",
    "content": "body {\n  padding-top: 40px;\n  padding-bottom: 40px;\n  background-color: #eee;\n}\n\n.form-signin {\n  max-width: 330px;\n  padding: 15px;\n  margin: 0 auto;\n}\n.form-signin .form-signin-heading,\n.form-signin .checkbox {\n  margin-bottom: 10px;\n}\n.form-signin .checkbox {\n  font-weight: normal;\n}\n.form-signin .form-control {\n  position: relative;\n  height: auto;\n  -webkit-box-sizing: border-box;\n     -moz-box-sizing: border-box;\n          box-sizing: border-box;\n  padding: 10px;\n  font-size: 16px;\n}\n.form-signin .form-control:focus {\n  z-index: 2;\n}\n.form-signin input[type=\"email\"] {\n  margin-bottom: -1px;\n  border-bottom-right-radius: 0;\n  border-bottom-left-radius: 0;\n}\n.form-signin input[type=\"password\"] {\n  margin-bottom: 10px;\n  border-top-left-radius: 0;\n  border-top-right-radius: 0;\n}\n"
  },
  {
    "path": "css/starter-template.css",
    "content": "body {\n  padding-top: 50px;\n}\n.starter-template {\n  padding: 40px 15px;\n  text-align: center;\n}"
  },
  {
    "path": "css/sticky-footer-navbar.css",
    "content": "/* Sticky footer styles\n-------------------------------------------------- */\nhtml {\n  position: relative;\n  min-height: 100%;\n}\nbody {\n  /* Margin bottom by footer height */\n  margin-bottom: 60px;\n}\n.footer {\n  position: absolute;\n  bottom: 0;\n  width: 100%;\n  /* Set the fixed height of the footer here */\n  height: 60px;\n  background-color: #f5f5f5;\n}\n\n\n/* Custom page CSS\n-------------------------------------------------- */\n/* Not required for template or sticky footer method. */\n\nbody > .container {\n  padding: 60px 15px 0;\n}\n.container .text-muted {\n  margin: 20px 0;\n}\n\n.footer > .container {\n  padding-right: 15px;\n  padding-left: 15px;\n}\n\ncode {\n  font-size: 80%;\n}\n"
  },
  {
    "path": "css/sticky-footer.css",
    "content": "/* Sticky footer styles\n-------------------------------------------------- */\nhtml {\n  position: relative;\n  min-height: 100%;\n}\nbody {\n  /* Margin bottom by footer height */\n  margin-bottom: 60px;\n}\n.footer {\n  position: absolute;\n  bottom: 0;\n  width: 100%;\n  /* Set the fixed height of the footer here */\n  height: 60px;\n  background-color: #f5f5f5;\n}\n\n\n/* Custom page CSS\n-------------------------------------------------- */\n/* Not required for template or sticky footer method. */\n\n.container {\n  width: auto;\n  max-width: 680px;\n  padding: 0 15px;\n}\n.container .text-muted {\n  margin: 20px 0;\n}\n"
  },
  {
    "path": "css/theme.css",
    "content": "body {\n  padding-top: 70px;\n  padding-bottom: 30px;\n}\n\n.theme-dropdown .dropdown-menu {\n  position: static;\n  display: block;\n  margin-bottom: 20px;\n}\n\n.theme-showcase > p > .btn {\n  margin: 5px 0;\n}\n\n.theme-showcase .navbar .container {\n  width: auto;\n}"
  },
  {
    "path": "layouts/blog.pug",
    "content": "extends ../_bootstrap\nappend styles\n\t// Custom styles for this template\n\tlink(href='../css/blog.css', rel='stylesheet')\nblock body\n\t.blog-masthead\n\t\t.container\n\t\t\tnav.blog-nav\n\t\t\t\ta.blog-nav-item.active(href='#') Home\n\t\t\t\ta.blog-nav-item(href='#') New features\n\t\t\t\ta.blog-nav-item(href='#') Press\n\t\t\t\ta.blog-nav-item(href='#') New hires\n\t\t\t\ta.blog-nav-item(href='#') About\n\t.container\n\t\t.blog-header\n\t\t\th1.blog-title The Bootstrap Blog\n\t\t\tp.lead.blog-description The official example template of creating a blog with Bootstrap.\n\t\t.row\n\t\t\t.col-sm-8.blog-main\n\t\t\t\t.blog-post\n\t\t\t\t\th2.blog-post-title Sample blog post\n\t\t\t\t\tp.blog-post-meta\n\t\t\t\t\t\t| January 1, 2014 by \n\t\t\t\t\t\ta(href='#') Mark\n\t\t\t\t\tp\n\t\t\t\t\t\t| This blog post shows a few different types of content that's supported and styled with Bootstrap. Basic typography, images, and code are all supported.\n\t\t\t\t\thr\n\t\t\t\t\tp\n\t\t\t\t\t\t| Cum sociis natoque penatibus et magnis \n\t\t\t\t\t\ta(href='#') dis parturient montes\n\t\t\t\t\t\t| , nascetur ridiculus mus. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Sed posuere consectetur est at lobortis. Cras mattis consectetur purus sit amet fermentum.\n\t\t\t\t\tblockquote\n\t\t\t\t\t\tp\n\t\t\t\t\t\t\t| Curabitur blandit tempus porttitor. \n\t\t\t\t\t\t\tstrong Nullam quis risus eget urna mollis\n\t\t\t\t\t\t\t|  ornare vel eu leo. Nullam id dolor id nibh ultricies vehicula ut id elit.\n\t\t\t\t\tp\n\t\t\t\t\t\t| Etiam porta \n\t\t\t\t\t\tem sem malesuada magna\n\t\t\t\t\t\t|  mollis euismod. Cras mattis consectetur purus sit amet fermentum. Aenean lacinia bibendum nulla sed consectetur.\n\t\t\t\t\th2 Heading\n\t\t\t\t\tp\n\t\t\t\t\t\t| Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.\n\t\t\t\t\th3 Sub-heading\n\t\t\t\t\tp\n\t\t\t\t\t\t| Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.\n\t\t\t\t\tpre.\n\t\t\t\t\tp\n\t\t\t\t\t\t| Aenean lacinia bibendum nulla sed consectetur. Etiam porta sem malesuada magna mollis euismod. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa.\n\t\t\t\t\th3 Sub-heading\n\t\t\t\t\tp\n\t\t\t\t\t\t| Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Aenean lacinia bibendum nulla sed consectetur. Etiam porta sem malesuada magna mollis euismod. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.\n\t\t\t\t\tul\n\t\t\t\t\t\tli Praesent commodo cursus magna, vel scelerisque nisl consectetur et.\n\t\t\t\t\t\tli Donec id elit non mi porta gravida at eget metus.\n\t\t\t\t\t\tli Nulla vitae elit libero, a pharetra augue.\n\t\t\t\t\tp\n\t\t\t\t\t\t| Donec ullamcorper nulla non metus auctor fringilla. Nulla vitae elit libero, a pharetra augue.\n\t\t\t\t\tol\n\t\t\t\t\t\tli Vestibulum id ligula porta felis euismod semper.\n\t\t\t\t\t\tli\n\t\t\t\t\t\t\t| Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.\n\t\t\t\t\t\tli Maecenas sed diam eget risus varius blandit sit amet non magna.\n\t\t\t\t\tp\n\t\t\t\t\t\t| Cras mattis consectetur purus sit amet fermentum. Sed posuere consectetur est at lobortis.\n\n\t\t\t\t\t.blog-post\n\t\t\t\t\t\th2.blog-post-title Another blog post\n\t\t\t\t\t\tp.blog-post-meta\n\t\t\t\t\t\t\t| December 23, 2013 by \n\t\t\t\t\t\t\ta(href='#') Jacob\n\t\t\t\t\t\tp\n\t\t\t\t\t\t\t| Cum sociis natoque penatibus et magnis \n\t\t\t\t\t\t\ta(href='#') dis parturient montes\n\t\t\t\t\t\t\t| , nascetur ridiculus mus. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Sed posuere consectetur est at lobortis. Cras mattis consectetur purus sit amet fermentum.\n\t\t\t\t\t\tblockquote\n\t\t\t\t\t\t\tp\n\t\t\t\t\t\t\t\t| Curabitur blandit tempus porttitor. \n\t\t\t\t\t\t\t\tstrong Nullam quis risus eget urna mollis\n\t\t\t\t\t\t\t\t|  ornare vel eu leo. Nullam id dolor id nibh ultricies vehicula ut id elit.\n\t\t\t\t\t\tp\n\t\t\t\t\t\t\t| Etiam porta \n\t\t\t\t\t\t\tem sem malesuada magna\n\t\t\t\t\t\t\t|  mollis euismod. Cras mattis consectetur purus sit amet fermentum. Aenean lacinia bibendum nulla sed consectetur.\n\t\t\t\t\t\tp\n\t\t\t\t\t\t\t| Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.\n\n\t\t\t\t.blog-post\n\t\t\t\t\th2.blog-post-title New feature\n\t\t\t\t\tp.blog-post-meta\n\t\t\t\t\t\t| December 14, 2013 by \n\t\t\t\t\t\ta(href='#') Chris\n\t\t\t\t\tp\n\t\t\t\t\t\t| Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Aenean lacinia bibendum nulla sed consectetur. Etiam porta sem malesuada magna mollis euismod. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.\n\t\t\t\tul\n\t\t\t\t\tli Praesent commodo cursus magna, vel scelerisque nisl consectetur et.\n\t\t\t\t\tli Donec id elit non mi porta gravida at eget metus.\n\t\t\t\t\tli Nulla vitae elit libero, a pharetra augue.\n\t\t\t\tp\n\t\t\t\t\t| Etiam porta \n\t\t\t\t\tem sem malesuada magna\n\t\t\t\t\t|  mollis euismod. Cras mattis consectetur purus sit amet fermentum. Aenean lacinia bibendum nulla sed consectetur.\n\t\t\t\tp\n\t\t\t\t\t| Donec ullamcorper nulla non metus auctor fringilla. Nulla vitae elit libero, a pharetra augue.\n\t\t\t\tnav\n\t\t\t\t\tul.pager\n\t\t\t\t\t\tli\n\t\t\t\t\t\t\ta(href='#') Previous\n\t\t\t\t\t\tli\n\t\t\t\t\t\t\ta(href='#') Next\n\t\t\t.col-sm-3.col-sm-offset-1.blog-sidebar\n\t\t\t\t.sidebar-module.sidebar-module-inset\n\t\t\t\t\th4 About\n\t\t\t\t\tp\n\t\t\t\t\t\t| Etiam porta \n\t\t\t\t\t\tem sem malesuada magna\n\t\t\t\t\t\t|  mollis euismod. Cras mattis consectetur purus sit amet fermentum. Aenean lacinia bibendum nulla sed consectetur.\n\t\t\t\t.sidebar-module\n\t\t\t\t\th4 Archives\n\t\t\t\t\tol.list-unstyled\n\t\t\t\t\t\tli\n\t\t\t\t\t\t\ta(href='#') March 2014\n\t\t\t\t\t\tli\n\t\t\t\t\t\t\ta(href='#') February 2014\n\t\t\t\t\t\tli\n\t\t\t\t\t\t\ta(href='#') January 2014\n\t\t\t\t\t\tli\n\t\t\t\t\t\t\ta(href='#') December 2013\n\t\t\t\t\t\tli\n\t\t\t\t\t\t\ta(href='#') November 2013\n\t\t\t\t\t\tli\n\t\t\t\t\t\t\ta(href='#') October 2013\n\t\t\t\t\t\tli\n\t\t\t\t\t\t\ta(href='#') September 2013\n\t\t\t\t\t\tli\n\t\t\t\t\t\t\ta(href='#') August 2013\n\t\t\t\t\t\tli\n\t\t\t\t\t\t\ta(href='#') July 2013\n\t\t\t\t\t\tli\n\t\t\t\t\t\t\ta(href='#') June 2013\n\t\t\t\t\t\tli\n\t\t\t\t\t\t\ta(href='#') May 2013\n\t\t\t\t\t\tli\n\t\t\t\t\t\t\ta(href='#') April 2013\n\t\t\t\t.sidebar-module\n\t\t\t\t\th4 Elsewhere\n\t\t\t\t\tol.list-unstyled\n\t\t\t\t\t\tli\n\t\t\t\t\t\t\ta(href='#') GitHub\n\t\t\t\t\t\tli\n\t\t\t\t\t\t\ta(href='#') Twitter\n\t\t\t\t\t\tli\n\t\t\t\t\t\ta(href='#') Facebook\n\tfooter.blog-footer\n\t\tp\n\t\t\t| Blog template built for \n\t\t\ta(href='http://getbootstrap.com') Bootstrap\n\t\t\t|  by \n\t\t\ta(href='https://twitter.com/mdo') @mdo\n\t\t\t| .\n\t\tp\n\t\t\ta(href='#') Back to top\n\tblock content"
  },
  {
    "path": "layouts/bootswatch.pug",
    "content": "extends ../_bootstrap\nappend styles\n\t// Bootstrap theme\n\t+bootswatch(\"cerulean\")\n\t// Custom styles for this template\n\tlink(href='../css/theme.css', rel='stylesheet')\nblock body\n\t// Fixed navbar\n\tnav.navbar.navbar-default.navbar-fixed-top\n\t\t.container\n\t\t\t.navbar-header\n\t\t\t\tbutton.navbar-toggle.collapsed(type='button', data-toggle='collapse', data-target='#navbar', aria-expanded='false', aria-controls='navbar')\n\t\t\t\t\tspan.sr-only Toggle navigation\n\t\t\t\t\tspan.icon-bar\n\t\t\t\t\tspan.icon-bar\n\t\t\t\t\tspan.icon-bar\n\t\t\t\ta.navbar-brand(href='#') Bootswatch theme\n\t\t\t#navbar.navbar-collapse.collapse\n\t\t\t\tul.nav.navbar-nav\n\t\t\t\t\tli.active\n\t\t\t\t\t\ta(href='#') Home\n\t\t\t\t\tli\n\t\t\t\t\t\ta(href='#about') About\n\t\t\t\t\tli\n\t\t\t\t\t\ta(href='#contact') Contact\n\t\t\t\t\tli.dropdown\n\t\t\t\t\t\ta.dropdown-toggle(href='#', data-toggle='dropdown', role='button', aria-expanded='false')\n\t\t\t\t\t\t\t| Dropdown \n\t\t\t\t\t\t\tspan.caret\n\t\t\t\t\t\tul.dropdown-menu(role='menu')\n\t\t\t\t\t\t\tli\n\t\t\t\t\t\t\t\ta(href='#') Action\n\t\t\t\t\t\t\tli\n\t\t\t\t\t\t\t\ta(href='#') Another action\n\t\t\t\t\t\t\tli\n\t\t\t\t\t\t\t\ta(href='#') Something else here\n\t\t\t\t\t\t\tli.divider\n\t\t\t\t\t\t\tli.dropdown-header Nav header\n\t\t\t\t\t\t\tli\n\t\t\t\t\t\t\t\ta(href='#') Separated link\n\t\t\t\t\t\t\tli\n\t\t\t\t\t\t\t\ta(href='#') One more separated link\n\t\t\n\t.container.theme-showcase(role='main')\n\t\t// Main jumbotron for a primary marketing message or call to action\n\t\t.jumbotron\n\t\t\th1 Bootswatch Themes example\n\t\t\tp\n\t\t\t\t| This is a template showcasing the various themes included in Bootswatch. Use it as a starting point to create something more unique by building on or modifying it.\n\t\t.page-header\n\t\t\th1 Buttons\n\t\tp\n\t\t\tbutton.btn.btn-lg.btn-default(type='button') Default\n\t\t\tbutton.btn.btn-lg.btn-primary(type='button') Primary\n\t\t\tbutton.btn.btn-lg.btn-success(type='button') Success\n\t\t\tbutton.btn.btn-lg.btn-info(type='button') Info\n\t\t\tbutton.btn.btn-lg.btn-warning(type='button') Warning\n\t\t\tbutton.btn.btn-lg.btn-danger(type='button') Danger\n\t\t\tbutton.btn.btn-lg.btn-link(type='button') Link\n\t\tp\n\t\t\tbutton.btn.btn-default(type='button') Default\n\t\t\tbutton.btn.btn-primary(type='button') Primary\n\t\t\tbutton.btn.btn-success(type='button') Success\n\t\t\tbutton.btn.btn-info(type='button') Info\n\t\t\tbutton.btn.btn-warning(type='button') Warning\n\t\t\tbutton.btn.btn-danger(type='button') Danger\n\t\t\tbutton.btn.btn-link(type='button') Link\n\t\tp\n\t\t\tbutton.btn.btn-sm.btn-default(type='button') Default\n\t\t\tbutton.btn.btn-sm.btn-primary(type='button') Primary\n\t\t\tbutton.btn.btn-sm.btn-success(type='button') Success\n\t\t\tbutton.btn.btn-sm.btn-info(type='button') Info\n\t\t\tbutton.btn.btn-sm.btn-warning(type='button') Warning\n\t\t\tbutton.btn.btn-sm.btn-danger(type='button') Danger\n\t\t\tbutton.btn.btn-sm.btn-link(type='button') Link\n\t\tp\n\t\t\tbutton.btn.btn-xs.btn-default(type='button') Default\n\t\t\tbutton.btn.btn-xs.btn-primary(type='button') Primary\n\t\t\tbutton.btn.btn-xs.btn-success(type='button') Success\n\t\t\tbutton.btn.btn-xs.btn-info(type='button') Info\n\t\t\tbutton.btn.btn-xs.btn-warning(type='button') Warning\n\t\t\tbutton.btn.btn-xs.btn-danger(type='button') Danger\n\t\t\tbutton.btn.btn-xs.btn-link(type='button') Link\n\t\t.page-header\n\t\t\th1 Tables\n\t\t.row\n\t\t\t.col-md-6\n\t\t\t\t+table([\"#\",\"First Name\",\"Last Name\",\"Username\"],[[\"1\",\"Mark\",\"Otto\",\"@mdo\"],[\"2\",\"Jacob\",\"Thornton\",\"@fat\"],[\"3\",\"Larry\",\"the Bird\",\"@twitter\"]])\n\t\t\t.col-md-6\n\t\t\t\t+table-striped([\"#\",\"First Name\",\"Last Name\",\"Username\"],[[\"1\",\"Mark\",\"Otto\",\"@mdo\"],[\"2\",\"Jacob\",\"Thornton\",\"@fat\"],[\"3\",\"Larry\",\"the Bird\",\"@twitter\"]])\n\t\t.row\n\t\t\t.col-md-6\n\t\t\t\t+table-bordered([\"#\",\"First Name\",\"Last Name\",\"Username\"],[[\"1\",\"Mark\",\"Otto\",\"@mdo\"],[\"2\",\"Jacob\",\"Thornton\",\"@fat\"],[\"3\",\"Larry\",\"the Bird\",\"@twitter\"]])\n\t\t\t.col-md-6\n\t\t\t\t+table-condensed([\"#\",\"First Name\",\"Last Name\",\"Username\"],[[\"1\",\"Mark\",\"Otto\",\"@mdo\"],[\"2\",\"Jacob\",\"Thornton\",\"@fat\"],[\"3\",\"Larry\",\"the Bird\",\"@twitter\"]])\n\t\t.page-header\n\t\t\th1 Thumbnails\n\t\timg.img-thumbnail(src='../images/thumb.jpg', alt='A generic square placeholder image with a white border around it, making it resemble a photograph taken with an old instant camera')\n\t\t.page-header\n\t\t\th1 Labels\n\t\th1\n\t\t\tspan.label.label-default Default\n\t\t\tspan.label.label-primary Primary\n\t\t\tspan.label.label-success Success\n\t\t\tspan.label.label-info Info\n\t\t\tspan.label.label-warning Warning\n\t\t\tspan.label.label-danger Danger\n\t\th2\n\t\t\tspan.label.label-default Default\n\t\t\tspan.label.label-primary Primary\n\t\t\tspan.label.label-success Success\n\t\t\tspan.label.label-info Info\n\t\t\tspan.label.label-warning Warning\n\t\t\tspan.label.label-danger Danger\n\t\th3\n\t\t\tspan.label.label-default Default\n\t\t\tspan.label.label-primary Primary\n\t\t\tspan.label.label-success Success\n\t\t\tspan.label.label-info Info\n\t\t\tspan.label.label-warning Warning\n\t\t\tspan.label.label-danger Danger\n\t\th4\n\t\t\tspan.label.label-default Default\n\t\t\tspan.label.label-primary Primary\n\t\t\tspan.label.label-success Success\n\t\t\tspan.label.label-info Info\n\t\t\tspan.label.label-warning Warning\n\t\t\tspan.label.label-danger Danger\n\t\th5\n\t\t\tspan.label.label-default Default\n\t\t\tspan.label.label-primary Primary\n\t\t\tspan.label.label-success Success\n\t\t\tspan.label.label-info Info\n\t\t\tspan.label.label-warning Warning\n\t\t\tspan.label.label-danger Danger\n\t\th6\n\t\t\tspan.label.label-default Default\n\t\t\tspan.label.label-primary Primary\n\t\t\tspan.label.label-success Success\n\t\t\tspan.label.label-info Info\n\t\t\tspan.label.label-warning Warning\n\t\t\tspan.label.label-danger Danger\n\t\tp\n\t\t\tspan.label.label-default Default\n\t\t\tspan.label.label-primary Primary\n\t\t\tspan.label.label-success Success\n\t\t\tspan.label.label-info Info\n\t\t\tspan.label.label-warning Warning\n\t\t\tspan.label.label-danger Danger\n\t\t.page-header\n\t\t\th1 Badges\n\t\tp\n\t\t\ta(href='#')\n\t\t\t\t| Inbox \n\t\t\t\tspan.badge 42\n\t\tul.nav.nav-pills(role='tablist')\n\t\t\tli.active(role='presentation')\n\t\t\t\ta(href='#')\n\t\t\t\t\t| Home \n\t\t\t\t\tspan.badge 42\n\t\t\tli(role='presentation')\n\t\t\t\ta(href='#') Profile\n\t\t\tli(role='presentation')\n\t\t\t\ta(href='#')\n\t\t\t\t\t| Messages \n\t\t\t\t\tspan.badge 3\n\t\t.page-header\n\t\t\th1 Dropdown menus\n\t\t.dropdown.theme-dropdown.clearfix\n\t\t\ta#dropdownMenu1.sr-only.dropdown-toggle(href='#', data-toggle='dropdown', role='button', aria-expanded='false')\n\t\t\t\t| Dropdown \n\t\t\t\tspan.caret\n\t\t\tul.dropdown-menu(role='menu', aria-labelledby='dropdownMenu1')\n\t\t\t\tli.active(role='presentation')\n\t\t\t\t\ta(role='menuitem', tabindex='-1', href='#') Action\n\t\t\t\tli(role='presentation')\n\t\t\t\t\ta(role='menuitem', tabindex='-1', href='#') Another action\n\t\t\t\tli(role='presentation')\n\t\t\t\t\ta(role='menuitem', tabindex='-1', href='#') Something else here\n\t\t\t\tli.divider(role='presentation')\n\t\t\t\tli(role='presentation')\n\t\t\t\t\ta(role='menuitem', tabindex='-1', href='#') Separated link\n\t\t.page-header\n\t\t\th1 Navs\n\t\tul.nav.nav-tabs(role='tablist')\n\t\t\tli.active(role='presentation')\n\t\t\t\ta(href='#') Home\n\t\t\tli(role='presentation')\n\t\t\t\ta(href='#') Profile\n\t\t\tli(role='presentation')\n\t\t\t\ta(href='#') Messages\n\t\tul.nav.nav-pills(role='tablist')\n\t\t\tli.active(role='presentation')\n\t\t\t\ta(href='#') Home\n\t\t\tli(role='presentation')\n\t\t\t\ta(href='#') Profile\n\t\t\tli(role='presentation')\n\t\t\t\ta(href='#') Messages\n\t\t.page-header\n\t\t\th1 Navbars\n\t\tnav.navbar.navbar-default\n\t\t\t.container\n\t\t\t\t.navbar-header\n\t\t\t\t\tbutton.navbar-toggle.collapsed(type='button', data-toggle='collapse', data-target='.navbar-collapse')\n\t\t\t\t\t\tspan.sr-only Toggle navigation\n\t\t\t\t\t\tspan.icon-bar\n\t\t\t\t\t\tspan.icon-bar\n\t\t\t\t\t\tspan.icon-bar\n\t\t\t\t\ta.navbar-brand(href='#') Project name\n\t\t\t\t.navbar-collapse.collapse\n\t\t\t\t\tul.nav.navbar-nav\n\t\t\t\t\t\tli.active\n\t\t\t\t\t\t\ta(href='#') Home\n\t\t\t\t\t\tli\n\t\t\t\t\t\t\ta(href='#about') About\n\t\t\t\t\t\tli\n\t\t\t\t\t\t\ta(href='#contact') Contact\n\t\t\t\t\t\tli.dropdown\n\t\t\t\t\t\t\ta.dropdown-toggle(href='#', data-toggle='dropdown', role='button', aria-expanded='false')\n\t\t\t\t\t\t\t\t| Dropdown \n\t\t\t\t\t\t\t\tspan.caret\n\t\t\t\t\t\t\tul.dropdown-menu(role='menu')\n\t\t\t\t\t\t\t\tli\n\t\t\t\t\t\t\t\t\ta(href='#') Action\n\t\t\t\t\t\t\t\tli\n\t\t\t\t\t\t\t\t\ta(href='#') Another action\n\t\t\t\t\t\t\t\tli\n\t\t\t\t\t\t\t\t\ta(href='#') Something else here\n\t\t\t\t\t\t\t\tli.divider\n\t\t\t\t\t\t\t\tli.dropdown-header Nav header\n\t\t\t\t\t\t\t\tli\n\t\t\t\t\t\t\t\t\ta(href='#') Separated link\n\t\t\t\t\t\t\t\tli\n\t\t\t\t\t\t\t\t\ta(href='#') One more separated link\n\n\t\tnav.navbar.navbar-inverse\n\t\t\t.container\n\t\t\t\t.navbar-header\n\t\t\t\t\tbutton.navbar-toggle.collapsed(type='button', data-toggle='collapse', data-target='.navbar-collapse')\n\t\t\t\t\t\tspan.sr-only Toggle navigation\n\t\t\t\t\t\tspan.icon-bar\n\t\t\t\t\t\tspan.icon-bar\n\t\t\t\t\t\tspan.icon-bar\n\t\t\t\t\ta.navbar-brand(href='#') Project name\n\t\t\t\t.navbar-collapse.collapse\n\t\t\t\t\tul.nav.navbar-nav\n\t\t\t\t\t\tli.active\n\t\t\t\t\t\t\ta(href='#') Home\n\t\t\t\t\t\tli\n\t\t\t\t\t\t\ta(href='#about') About\n\t\t\t\t\t\tli\n\t\t\t\t\t\t\ta(href='#contact') Contact\n\t\t\t\t\t\tli.dropdown\n\t\t\t\t\t\t\ta.dropdown-toggle(href='#', data-toggle='dropdown', role='button', aria-expanded='false')\n\t\t\t\t\t\t\t\t| Dropdown \n\t\t\t\t\t\t\t\tspan.caret\n\t\t\t\t\t\t\tul.dropdown-menu(role='menu')\n\t\t\t\t\t\t\t\tli\n\t\t\t\t\t\t\t\t\ta(href='#') Action\n\t\t\t\t\t\t\t\tli\n\t\t\t\t\t\t\t\t\ta(href='#') Another action\n\t\t\t\t\t\t\t\tli\n\t\t\t\t\t\t\t\t\ta(href='#') Something else here\n\t\t\t\t\t\t\t\tli.divider\n\t\t\t\t\t\t\t\tli.dropdown-header Nav header\n\t\t\t\t\t\t\t\tli\n\t\t\t\t\t\t\t\t\ta(href='#') Separated link\n\t\t\t\t\t\t\t\tli\n\t\t\t\t\t\t\t\t\ta(href='#') One more separated link\n\n\t\t.page-header\n\t\t\th1 Alerts\n\t\t+alert-success(\"<strong>Well done!</strong> You successfully read this important alert message.\")\n\t\t+alert-info(\"<strong>Heads up!</strong> This alert needs your attention, but it's not super important.\")\n\t\t+alert-warning(\"<strong>Warning!</strong> Best check yo self, you're not looking too good.\")\n\t\t+alert-danger(\"<strong>Oh snap!</strong> Change a few things up and try submitting again.\")\n\t\t.page-header\n\t\t\th1 Progress bars\n\t\t+progress-bar(60)\n\t\t+progress-bar-info(20)\n\t\t+progress-bar-warning(60)\n\t\t+progress-bar-danger(80)\n\t\t+progress-bar-striped(60)\n\t\t.progress\n\t\t\t.progress-bar.progress-bar-success(style='width: 35%')\n\t\t\t\tspan.sr-only 35% Complete (success)\n\t\t\t.progress-bar.progress-bar-warning(style='width: 20%')\n\t\t\t\tspan.sr-only 20% Complete (warning)\n\t\t\t.progress-bar.progress-bar-danger(style='width: 10%')\n\t\t\t\tspan.sr-only 10% Complete (danger)\n\t\t.page-header\n\t\t\th1 List groups\n\t\t.row\n\t\t\t.col-sm-4\n\t\t\t\tul.list-group\n\t\t\t\t\tli.list-group-item Cras justo odio\n\t\t\t\t\tli.list-group-item Dapibus ac facilisis in\n\t\t\t\t\tli.list-group-item Morbi leo risus\n\t\t\t\t\tli.list-group-item Porta ac consectetur ac\n\t\t\t\t\tli.list-group-item Vestibulum at eros\n\t\t\t// /.col-sm-4\n\t\t\t.col-sm-4\n\t\t\t\t.list-group\n\t\t\t\t\ta.list-group-item.active(href='#')\n\t\t\t\t\t\t| Cras justo odio\n\t\t\t\t\ta.list-group-item(href='#') Dapibus ac facilisis in\n\t\t\t\t\ta.list-group-item(href='#') Morbi leo risus\n\t\t\t\t\ta.list-group-item(href='#') Porta ac consectetur ac\n\t\t\t\t\ta.list-group-item(href='#') Vestibulum at eros\n\t\t\t// /.col-sm-4\n\t\t\t.col-sm-4\n\t\t\t\t.list-group\n\t\t\t\t\ta.list-group-item.active(href='#')\n\t\t\t\t\t\th4.list-group-item-heading List group item heading\n\t\t\t\t\t\tp.list-group-item-text\n\t\t\t\t\t\t\t| Donec id elit non mi porta gravida at eget metus. Maecenas sed diam eget risus varius blandit.\n\t\t\t\t\ta.list-group-item(href='#')\n\t\t\t\t\t\th4.list-group-item-heading List group item heading\n\t\t\t\t\t\tp.list-group-item-text\n\t\t\t\t\t\t\t| Donec id elit non mi porta gravida at eget metus. Maecenas sed diam eget risus varius blandit.\n\t\t\t\t\ta.list-group-item(href='#')\n\t\t\t\t\t\th4.list-group-item-heading List group item heading\n\t\t\t\t\t\tp.list-group-item-text\n\t\t\t\t\t\t\t| Donec id elit non mi porta gravida at eget metus. Maecenas sed diam eget risus varius blandit.\n\t\t// /.col-sm-4\n\t\t.page-header\n\t\t\th1 Panels\n\t\t.row\n\t\t\t.col-sm-4\n\t\t\t\t+panel-default(\"Panel title\")\n\t\t\t\t\t| Panel content\n\t\t\t\t+panel-primary(\"Panel title\")\n\t\t\t\t\t| Panel content\n\t\t\t.col-sm-4\n\t\t\t\t+panel-success(\"Panel title\")\n\t\t\t\t\t| Panel content\n\t\t\t\t+panel-info(\"Panel title\")\n\t\t\t\t\t| Panel content\n\t\t\t.col-sm-4\n\t\t\t\t+panel-warning(\"Panel title\")\n\t\t\t\t\t| Panel content\n\t\t\t\t+panel-danger(\"Panel title\")\n\t\t\t\t\t| Panel content\n\t\t.page-header\n\t\t\th1 Wells\n\t\t.well\n\t\t\tp\n\t\t\t\t| Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas sed diam eget risus varius blandit sit amet non magna. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Cras mattis consectetur purus sit amet fermentum. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Aenean lacinia bibendum nulla sed consectetur.\n\t\t.page-header\n\t\t\th1 Carousel\n\t\t+carousel(\"example-generic\",[{image:'../images/carousel/slide1.jpg'},{image:'../images/carousel/slide2.jpg'},{image:'../images/carousel/slide3.jpg',}])\n"
  },
  {
    "path": "layouts/carousel.pug",
    "content": "extends ../_bootstrap\nappend styles\n\t// Custom styles for this template \n\tlink(href=\"../css/carousel.css\", rel=\"stylesheet\")\nblock body\n\t.navbar-wrapper\n\t\t.container\n\t\t\tnav.navbar.navbar-inverse.navbar-static-top\n\t\t\t\t.container\n\t\t\t\t\t.navbar-header\n\t\t\t\t\t\tbutton(type=\"button\" ,class=\"navbar-toggle collapsed\", data-toggle=\"collapse\", data-target=\"#navbar\" ,aria-expanded=\"false\", aria-controls=\"navbar\")\n\t\t\t\t\t\t\tspan.sr-only Toggle navigation\n\t\t\t\t\t\t\tspan.icon-bar\n\t\t\t\t\t\t\tspan.icon-bar\n\t\t\t\t\t\t\tspan.icon-bar\n\t\t\t\t\t\t\t\n\t\t\t\t\t\ta(class=\"navbar-brand\", href=\"#\") Project name\n\t\t\t\t\t#navbar.navbar-collapse.collapse\n\t\t\t\t\t\tul.nav.navbar-nav\n\t\t\t\t\t\t\tli.active\n\t\t\t\t\t\t\t\ta(href=\"#\") Home\n\t\t\t\t\t\t\tli\n\t\t\t\t\t\t\t\ta(href=\"#about\") About\n\t\t\t\t\t\t\tli\n\t\t\t\t\t\t\t\ta(href=\"#contact\") Contact\n\t\t\t\t\t\t\tli.dropdown\n\t\t\t\t\t\t\t\ta.dropdown-toggle(href='#', data-toggle='dropdown', role='button', aria-expanded='false')\n\t\t\t\t\t\t\t\t\t| Dropdown \n\t\t\t\t\t\t\t\t\tspan.caret\n\t\t\t\t\t\t\t\tul.dropdown-menu(role='menu')\n\t\t\t\t\t\t\t\t\tli\n\t\t\t\t\t\t\t\t\t\ta(href='#') Action\n\t\t\t\t\t\t\t\t\tli\n\t\t\t\t\t\t\t\t\t\ta(href='#') Another action\n\t\t\t\t\t\t\t\t\tli\n\t\t\t\t\t\t\t\t\t\ta(href='#') Something else here\n\t\t\t\t\t\t\t\t\tli.divider\n\t\t\t\t\t\t\t\t\tli.dropdown-header Nav header\n\t\t\t\t\t\t\t\t\tli\n\t\t\t\t\t\t\t\t\t\ta(href='#') Separated link\n\t\t\t\t\t\t\t\t\tli\n\t\t\t\t\t\t\t\t\t\ta(href='#') One more separated link\n\t\t\t\t\t\t\t\n\t// Carousel\n\t// ==================================================\n\t+carousel(\"myCarousel\",[{image:\"../images/carousel1.jpg\",h1:\"Example headline\",p:\"Note: If you're viewing this page via a codefile:///code URL, the 'next' and 'previous' Glyphicon buttons on the left and right might not load/display properly due to web browser security rules.\",button:{caption:\"Sign up today\",url:\"#\"}},{image:\"../images/carousel2.jpg\",h1:\"Another example headline\",p:\"Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.\",button:{caption:\"Learn more\",url:\"#\"}},\t{image:\"../images/carousel3.jpg\",h1:\"One more for good measure.\",p:\"Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.\",button:{caption:\"Browse gallery\",url:\"#\"}}])\n\t//  Marketing messaging and featurettes\n\t//  ==================================================\n\t// Wrap the rest of the page in another container to center all the content.\n\t.container.marketing\n\t\t// Three columns of text below the carousel\n\t\t.row\n\t\t\t.col-lg-4\n\t\t\t\timg.img-circle(src='../images/marketing1.jpg', alt='Generic placeholder image', width='140', height='140')\n\t\t\t\th2 Heading\n\t\t\t\tp\n\t\t\t\t\t| Donec sed odio dui. Etiam porta sem malesuada magna mollis euismod. Nullam id dolor id nibh ultricies vehicula ut id elit. Morbi leo risus, porta ac consectetur ac, vestibulum at eros. Praesent commodo cursus magna.\n\t\t\t\tp\n\t\t\t\t\ta.btn.btn-default(href='#', role='button') View details »\n\t\t\t.col-lg-4\n\t\t\t\timg.img-circle(src='../images/marketing2.jpg', alt='Generic placeholder image', width='140', height='140')\n\t\t\t\th2 Heading\n\t\t\t\tp\n\t\t\t\t\t| Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Cras mattis consectetur purus sit amet fermentum. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh.\n\t\t\t\tp\n\t\t\t\t\ta.btn.btn-default(href='#', role='button') View details »\n\t\t\t.col-lg-4\n\t\t\t\timg.img-circle(src='../images/marketing3.jpg', alt='Generic placeholder image', width='140', height='140')\n\t\t\t\th2 Heading\n\t\t\t\tp\n\t\t\t\t\t| Donec sed odio dui. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Vestibulum id ligula porta felis euismod semper. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.\n\t\t\t\tp\n\t\t\t\t\ta.btn.btn-default(href='#', role='button') View details »\n\t\t// START THE FEATURETTES\n\t\thr.featurette-divider\n\t\t.row.featurette\n\t\t\t.col-md-7\n\t\t\t\th2.featurette-heading\n\t\t\t\t\t| First featurette heading. \n\t\t\t\t\tspan.text-muted It'll blow your mind.\n\t\t\t\tp.lead\n\t\t\t\t\t| Donec ullamcorper nulla non metus auctor fringilla. Vestibulum id ligula porta felis euismod semper. Praesent commodo cursus magna, vel scelerisque nisl consectetur. Fusce dapibus, tellus ac cursus commodo.\n\t\t\t.col-md-5\n\t\t\t\timg.featurette-image.img-responsive.center-block(src='../images/featurette1.jpg', alt='Generic placeholder image')\n\t\thr.featurette-divider\n\t\t.row.featurette\n\t\t\t.col-md-7.col-md-push-5\n\t\t\t\th2.featurette-heading\n\t\t\t\t\t| Oh yeah, it's that good. \n\t\t\t\t\tspan.text-muted See for yourself.\n\t\t\t\tp.lead\n\t\t\t\t\t| Donec ullamcorper nulla non metus auctor fringilla. Vestibulum id ligula porta felis euismod semper. Praesent commodo cursus magna, vel scelerisque nisl consectetur. Fusce dapibus, tellus ac cursus commodo.\n\t\t\t.col-md-5.col-md-pull-7\n\t\t\t\timg.featurette-image.img-responsive.center-block(src='../images/featurette2.jpg', alt='Generic placeholder image')\n\t\thr.featurette-divider\n\t\t.row.featurette\n\t\t\t.col-md-7\n\t\t\t\th2.featurette-heading\n\t\t\t\t\t| And lastly, this one. \n\t\t\t\t\tspan.text-muted Checkmate.\n\t\t\t\tp.lead\n\t\t\t\t\t| Donec ullamcorper nulla non metus auctor fringilla. Vestibulum id ligula porta felis euismod semper. Praesent commodo cursus magna, vel scelerisque nisl consectetur. Fusce dapibus, tellus ac cursus commodo.\n\t\t\t.col-md-5\n\t\t\t\timg.featurette-image.img-responsive.center-block(src='../images/featurette3.jpg', alt='Generic placeholder image')\n\t\thr.featurette-divider\n\t\t// /END THE FEATURETTES\n\t\t// FOOTER\n\t\tfooter\n\t\t\tp.pull-right\n\t\t\t\ta(href='#') Back to top\n\t\t\tp\n\t\t\t\t| © 2014 Company, Inc. · \n\t\t\t\ta(href='#') Privacy\n\t\t\t\t|  · \n\t\t\t\ta(href='#') Terms\n\n\n\n"
  },
  {
    "path": "layouts/cover.pug",
    "content": "extends ../_bootstrap\nappend styles\n\t//\t!-- Custom styles for this template --\n\tlink(href=\"../css/cover.css\", rel=\"stylesheet\")\n\nblock body\n\t.site-wrapper\n\t\t.site-wrapper-inner\n\t\t\t.cover-container\n\t\t\t\t.masthead.clearfix\n\t\t\t\t\t.inner\n\t\t\t\t\t\th3.masthead-brand Cover\n\t\t\t\t\t\tnav\n\t\t\t\t\t\t\tul.nav.masthead-nav\n\t\t\t\t\t\t\t\tli.active \n\t\t\t\t\t\t\t\t\ta(href=\"#\") Home\n\t\t\t\t\t\t\t\tli\n\t\t\t\t\t\t\t\t\ta(href=\"#\") Features\n\t\t\t\t\t\t\t\tli\n\t\t\t\t\t\t\t\t\ta(href=\"#\") Contact\n\t\t\t\t.inner.cover\n\t\t\t\t\th1.cover-heading Cover your page.\n\t\t\t\t\tp.lead Cover is a one-page template for building simple and beautiful home pages. Download, edit the text, and add your own fullscreen background photo to make it your own.\n\t\t\t\t\tp.lead\n\t\t\t\t\ta(href=\"#\", class=\"btn btn-lg btn-default\") Learn more\n\n\t\t\t\t.mastfoot\n\t\t\t\t\t.inner\n\t\t\t\t\t\tp Cover template for <a href=\"http://getbootstrap.com\">Bootstrap </a>, by <a href=\"https://twitter.com/mdo\">@mdo</a>."
  },
  {
    "path": "layouts/dashboard.pug",
    "content": "extends ../_bootstrap\nappend styles\n\t// Custom styles for this template\n\tlink(href='../css/dashboard.css', rel='stylesheet')\nblock body  \n\tnav.navbar.navbar-inverse.navbar-fixed-top\n\t\t.container-fluid\n\t\t\t.navbar-header\n\t\t\t\tbutton.navbar-toggle.collapsed(type='button', data-toggle='collapse', data-target='#navbar', aria-expanded='false', aria-controls='navbar')\n\t\t\t\t\tspan.sr-only Toggle navigation\n\t\t\t\t\tspan.icon-bar\n\t\t\t\t\tspan.icon-bar\n\t\t\t\t\tspan.icon-bar\n\t\t\t\ta.navbar-brand(href='#') Project name\n\t\t\t#navbar.navbar-collapse.collapse\n\t\t\t\tul.nav.navbar-nav.navbar-right\n\t\t\t\t\tli\n\t\t\t\t\t\ta(href='#') Dashboard\n\t\t\t\t\tli\n\t\t\t\t\t\ta(href='#') Settings\n\t\t\t\t\tli\n\t\t\t\t\t\ta(href='#') Profile\n\t\t\t\t\tli\n\t\t\t\t\t\ta(href='#') Help\n\t\t\t\tform.navbar-form.navbar-right\n\t\t\t\t\tinput.form-control(type='text', placeholder='Search...')\n\t.container-fluid\n\t\t.row\n\t\t\t.col-sm-3.col-md-2.sidebar\n\t\t\t\tul.nav.nav-sidebar\n\t\t\t\t\tli.active\n\t\t\t\t\t\ta(href='#')\n\t\t\t\t\t\t\t| Overview \n\t\t\t\t\t\t\tspan.sr-only (current)\n\t\t\t\t\tli\n\t\t\t\t\t\ta(href='#') Reports\n\t\t\t\t\tli\n\t\t\t\t\t\ta(href='#') Analytics\n\t\t\t\t\tli\n\t\t\t\t\t\ta(href='#') Export\n\t\t\t\tul.nav.nav-sidebar\n\t\t\t\t\tli\n\t\t\t\t\t\ta(href='') Nav item\n\t\t\t\t\tli\n\t\t\t\t\t\ta(href='') Nav item again\n\t\t\t\t\tli\n\t\t\t\t\t\ta(href='') One more nav\n\t\t\t\t\tli\n\t\t\t\t\t\ta(href='') Another nav item\n\t\t\t\t\tli\n\t\t\t\t\t\ta(href='') More navigation\n\t\t\t\tul.nav.nav-sidebar\n\t\t\t\t\tli\n\t\t\t\t\t\ta(href='') Nav item again\n\t\t\t\t\tli\n\t\t\t\t\t\ta(href='') One more nav\n\t\t\t\t\tli\n\t\t\t\t\t\ta(href='') Another nav item\n\t\t\t.col-sm-9.col-sm-offset-3.col-md-10.col-md-offset-2.main\n\t\t\t\th1.page-header Dashboard\n\t\t\t\t.row.placeholders\n\t\t\t\t\t.col-xs-6.col-sm-3.placeholder\n\t\t\t\t\t\timg.img-responsive(src='../images/dashboard_blue.jpg', alt='Generic placeholder thumbnail')\n\t\t\t\t\t\th4 Label\n\t\t\t\t\t\tspan.text-muted Something else\n\t\t\t\t\t.col-xs-6.col-sm-3.placeholder\n\t\t\t\t\t\timg.img-responsive(src='../images/dashboard_green.jpg', alt='Generic placeholder thumbnail')\n\t\t\t\t\t\th4 Label\n\t\t\t\t\t\tspan.text-muted Something else\n\t\t\t\t\t.col-xs-6.col-sm-3.placeholder\n\t\t\t\t\t\timg.img-responsive(src='../images/dashboard_blue.jpg', alt='Generic placeholder thumbnail')\n\t\t\t\t\t\th4 Label\n\t\t\t\t\t\tspan.text-muted Something else\n\t\t\t\t\t.col-xs-6.col-sm-3.placeholder\n\t\t\t\t\t\timg.img-responsive(src='../images/dashboard_green.jpg', alt='Generic placeholder thumbnail')\n\t\t\t\t\t\th4 Label\n\t\t\t\t\t\tspan.text-muted Something else\n\t\t\t\th2.sub-header Section title\n\t\t\t\t.table-responsive\n\t\t\t\t\ttable.table.table-striped\n\t\t\t\t\t\tthead\n\t\t\t\t\t\t\ttr\n\t\t\t\t\t\t\t\tth #\n\t\t\t\t\t\t\t\tth Header\n\t\t\t\t\t\t\t\tth Header\n\t\t\t\t\t\t\t\tth Header\n\t\t\t\t\t\t\t\tth Header\n\t\t\t\t\t\ttbody\n\t\t\t\t\t\t\ttr\n\t\t\t\t\t\t\t\ttd 1,001\n\t\t\t\t\t\t\t\ttd Lorem\n\t\t\t\t\t\t\t\ttd ipsum\n\t\t\t\t\t\t\t\ttd dolor\n\t\t\t\t\t\t\t\ttd sit\n\t\t\t\t\t\t\ttr\n\t\t\t\t\t\t\t\ttd 1,002\n\t\t\t\t\t\t\t\ttd amet\n\t\t\t\t\t\t\t\ttd consectetur\n\t\t\t\t\t\t\t\ttd adipiscing\n\t\t\t\t\t\t\t\ttd elit\n\t\t\t\t\t\t\ttr\n\t\t\t\t\t\t\t\ttd 1,003\n\t\t\t\t\t\t\t\ttd Integer\n\t\t\t\t\t\t\t\ttd nec\n\t\t\t\t\t\t\t\ttd odio\n\t\t\t\t\t\t\t\ttd Praesent\n\t\t\t\t\t\t\ttr\n\t\t\t\t\t\t\t\ttd 1,003\n\t\t\t\t\t\t\t\ttd libero\n\t\t\t\t\t\t\t\ttd Sed\n\t\t\t\t\t\t\t\ttd cursus\n\t\t\t\t\t\t\t\ttd ante\n\t\t\t\t\t\t\ttr\n\t\t\t\t\t\t\t\ttd 1,004\n\t\t\t\t\t\t\t\ttd dapibus\n\t\t\t\t\t\t\t\ttd diam\n\t\t\t\t\t\t\t\ttd Sed\n\t\t\t\t\t\t\t\ttd nisi\n\t\t\t\t\t\t\ttr\n\t\t\t\t\t\t\t\ttd 1,005\n\t\t\t\t\t\t\t\ttd Nulla\n\t\t\t\t\t\t\t\ttd quis\n\t\t\t\t\t\t\t\ttd sem\n\t\t\t\t\t\t\t\ttd at\n\t\t\t\t\t\t\ttr\n\t\t\t\t\t\t\t\ttd 1,006\n\t\t\t\t\t\t\t\ttd nibh\n\t\t\t\t\t\t\t\ttd elementum\n\t\t\t\t\t\t\t\ttd imperdiet\n\t\t\t\t\t\t\t\ttd Duis\n\t\t\t\t\t\t\ttr\n\t\t\t\t\t\t\t\ttd 1,007\n\t\t\t\t\t\t\t\ttd sagittis\n\t\t\t\t\t\t\t\ttd ipsum\n\t\t\t\t\t\t\t\ttd Praesent\n\t\t\t\t\t\t\t\ttd mauris\n\t\t\t\t\t\t\ttr\n\t\t\t\t\t\t\t\ttd 1,008\n\t\t\t\t\t\t\t\ttd Fusce\n\t\t\t\t\t\t\t\ttd nec\n\t\t\t\t\t\t\t\ttd tellus\n\t\t\t\t\t\t\t\ttd sed\n\t\t\t\t\t\t\ttr\n\t\t\t\t\t\t\t\ttd 1,009\n\t\t\t\t\t\t\t\ttd augue\n\t\t\t\t\t\t\t\ttd semper\n\t\t\t\t\t\t\t\ttd porta\n\t\t\t\t\t\t\t\ttd Mauris\n\t\t\t\t\t\t\ttr\n\t\t\t\t\t\t\t\ttd 1,010\n\t\t\t\t\t\t\t\ttd massa\n\t\t\t\t\t\t\t\ttd Vestibulum\n\t\t\t\t\t\t\t\ttd lacinia\n\t\t\t\t\t\t\t\ttd arcu\n\t\t\t\t\t\t\ttr\n\t\t\t\t\t\t\t\ttd 1,011\n\t\t\t\t\t\t\t\ttd eget\n\t\t\t\t\t\t\t\ttd nulla\n\t\t\t\t\t\t\t\ttd Class\n\t\t\t\t\t\t\t\ttd aptent\n\t\t\t\t\t\t\ttr\n\t\t\t\t\t\t\t\ttd 1,012\n\t\t\t\t\t\t\t\ttd taciti\n\t\t\t\t\t\t\t\ttd sociosqu\n\t\t\t\t\t\t\t\ttd ad\n\t\t\t\t\t\t\t\ttd litora\n\t\t\t\t\t\t\ttr\n\t\t\t\t\t\t\t\ttd 1,013\n\t\t\t\t\t\t\t\ttd torquent\n\t\t\t\t\t\t\t\ttd per\n\t\t\t\t\t\t\t\ttd conubia\n\t\t\t\t\t\t\t\ttd nostra\n\t\t\t\t\t\t\ttr\n\t\t\t\t\t\t\t\ttd 1,014\n\t\t\t\t\t\t\t\ttd per\n\t\t\t\t\t\t\t\ttd inceptos\n\t\t\t\t\t\t\t\ttd himenaeos\n\t\t\t\t\t\t\t\ttd Curabitur\n\t\t\t\t\t\t\ttr\n\t\t\t\t\t\t\t\ttd 1,015\n\t\t\t\t\t\t\t\ttd sodales\n\t\t\t\t\t\t\t\ttd ligula\n\t\t\t\t\t\t\t\ttd in\n\t\t\t\t\t\t\t\ttd libero\n"
  },
  {
    "path": "layouts/jumbotron-narrow.pug",
    "content": "extends ../_bootstrap\nappend styles\t\n\t// Custom styles for this template\n\tlink(href='../css/jumbotron-narrow.css', rel='stylesheet')\nblock body\n\t.container\n\t\t.header.clearfix\n\t\t\tnav\n\t\t\t\tul.nav.nav-pills.pull-right\n\t\t\t\t\tli.active(role='presentation')\n\t\t\t\t\t\ta(href='#') Home\n\t\t\t\t\tli(role='presentation')\n\t\t\t\t\t\ta(href='#') About\n\t\t\t\t\tli(role='presentation')\n\t\t\t\t\t\ta(href='#') Contact\n\t\t\th3.text-muted Project name\n\t\t.jumbotron\n\t\t\th1 Jumbotron heading\n\t\t\tp.lead\n\t\t\t\t| Cras justo odio, dapibus ac facilisis in, egestas eget quam. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.\n\t\t\tp\n\t\t\t\ta.btn.btn-lg.btn-success(href='#', role='button') Sign up today\n\t\t.row.marketing\n\t\t\t.col-lg-6\n\t\t\t\th4 Subheading\n\t\t\t\tp\n\t\t\t\t\t| Donec id elit non mi porta gravida at eget metus. Maecenas faucibus mollis interdum.\n\t\t\t\th4 Subheading\n\t\t\t\tp\n\t\t\t\t\t| Morbi leo risus, porta ac consectetur ac, vestibulum at eros. Cras mattis consectetur purus sit amet fermentum.\n\t\t\t\th4 Subheading\n\t\t\t\tp Maecenas sed diam eget risus varius blandit sit amet non magna.\n\t\t\t.col-lg-6\n\t\t\t\th4 Subheading\n\t\t\t\tp\n\t\t\t\t\t| Donec id elit non mi porta gravida at eget metus. Maecenas faucibus mollis interdum.\n\t\t\t\th4 Subheading\n\t\t\t\tp\n\t\t\t\t\t| Morbi leo risus, porta ac consectetur ac, vestibulum at eros. Cras mattis consectetur purus sit amet fermentum.\n\t\t\t\th4 Subheading\n\t\t\t\tp Maecenas sed diam eget risus varius blandit sit amet non magna.\n\t\tfooter.footer\n\t\t\tp © Company 2014"
  },
  {
    "path": "layouts/jumbotron.pug",
    "content": "extends ../_bootstrap\nappend styles\n\t// Custom styles for this template\n\tlink(href='../css/jumbotron.css', rel='stylesheet')\nblock body\n\tnav.navbar.navbar-inverse.navbar-fixed-top\n\t\t.container\n\t\t\t.navbar-header\n\t\t\t\tbutton.navbar-toggle.collapsed(type='button', data-toggle='collapse', data-target='#navbar', aria-expanded='false', aria-controls='navbar')\n\t\t\t\t\tspan.sr-only Toggle navigation\n\t\t\t\t\tspan.icon-bar\n\t\t\t\t\tspan.icon-bar\n\t\t\t\t\tspan.icon-bar\n\t\t\t\ta.navbar-brand(href='#') Project name\n\t\t\t#navbar.navbar-collapse.collapse\n\t\t\t\tform.navbar-form.navbar-right\n\t\t\t\t\t.form-group\n\t\t\t\t\t\tinput.form-control(type='text', placeholder='Email')\n\t\t\t\t\t.form-group\n\t\t\t\t\t\tinput.form-control(type='password', placeholder='Password')\n\t\t\t\t\tbutton.btn.btn-success(type='submit') Sign in\n\n\t.jumbotron\n\t\t.container\n\t\t\th1 Hello, world!\n\t\t\tp\n\t\t\t\t| This is a template for a simple marketing or informational website. It includes a large callout called a jumbotron and three supporting pieces of content. Use it as a starting point to create something more unique.\n\t\t\tp\n\t\t\t\ta.btn.btn-primary.btn-lg(href='#', role='button') Learn more »\n\t.container\n\t\t.row\n\t\t\t.col-md-4\n\t\t\t\th2 Heading\n\t\t\t\tp\n\t\t\t\t\t| Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui.\n\t\t\t\tp\n\t\t\t\t\ta.btn.btn-default(href='#', role='button') View details »\n\t\t\t.col-md-4\n\t\t\t\th2 Heading\n\t\t\t\tp\n\t\t\t\t\t| Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui.\n\t\t\t\tp\n\t\t\t\t\ta.btn.btn-default(href='#', role='button') View details »\n\t\t\t.col-md-4\n\t\t\t\th2 Heading\n\t\t\t\tp\n\t\t\t\t\t| Donec sed odio dui. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Vestibulum id ligula porta felis euismod semper. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.\n\t\t\t\tp\n\t\t\t\t\ta.btn.btn-default(href='#', role='button') View details »\n\t\thr\n\t\tfooter\n\t\t\tp © Company 2014\n\tblock content"
  },
  {
    "path": "layouts/justified-nav.pug",
    "content": "extends ../_bootstrap\nappend styles\n\t// Custom styles for this template\n\tlink(href='../css/justified-nav.css', rel='stylesheet')\nblock body\n\t.container\n\t\t//  The justified navigation menu is meant for single line per list item.   Multiple lines will require custom code not provided by Bootstrap.\n\t\t.masthead\n\t\t\th3.text-muted Project name\n\t\t\tnav\n\t\t\t\tul.nav.nav-justified\n\t\t\t\t\tli.active\n\t\t\t\t\t\ta(href='#') Home\n\t\t\t\t\tli\n\t\t\t\t\t\ta(href='#') Projects\n\t\t\t\t\tli\n\t\t\t\t\t\ta(href='#') Services\n\t\t\t\t\tli\n\t\t\t\t\t\ta(href='#') Downloads\n\t\t\t\t\tli\n\t\t\t\t\t\ta(href='#') About\n\t\t\t\t\tli\n\t\t\t\t\t\ta(href='#') Contact\n\t\t// Jumbotron\n\t\t.jumbotron\n\t\t\th1 Marketing stuff!\n\t\t\tp.lead\n\t\t\t\t| Cras justo odio, dapibus ac facilisis in, egestas eget quam. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet.\n\t\t\tp\n\t\t\t\ta.btn.btn-lg.btn-success(href='#', role='button') Get started today\n\t\t// Example row of columns\n\t\t.row\n\t\t\t.col-lg-4\n\t\t\t\th2 Safari bug warning!\n\t\t\t\tp.text-danger\n\t\t\t\t\t| As of v8.0, Safari exhibits a bug in which resizing your browser horizontally causes rendering errors in the justified nav that are cleared upon refreshing.\n\t\t\t\tp\n\t\t\t\t\t| Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui.\n\t\t\t\tp\n\t\t\t\t\ta.btn.btn-primary(href='#', role='button') View details »\n\t\t\t.col-lg-4\n\t\t\t\th2 Heading\n\t\t\t\tp\n\t\t\t\t\t| Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui.\n\t\t\t\tp\n\t\t\t\t\ta.btn.btn-primary(href='#', role='button') View details »\n\t\t\t.col-lg-4\n\t\t\t\th2 Heading\n\t\t\t\tp\n\t\t\t\t\t| Donec sed odio dui. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Vestibulum id ligula porta felis euismod semper. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa.\n\t\t\t\tp\n\t\t\t\t\ta.btn.btn-primary(href='#', role='button') View details »\n\t\t// Site footer\n\t\tfooter.footer\n\t\t\tp © Company 2014"
  },
  {
    "path": "layouts/navbar-fixed.pug",
    "content": "extends ../_bootstrap\nappend styles\n\t// Custom styles for this template\n\tlink(href='../css/navbar-fixed-top.css', rel='stylesheet')\n\nblock body\n\t// Fixed navbar\n\t+navbar-fixed(\"Project name\",\"navbar\")\n\t\t+nav_item(\"#\",\"active\") Home\n\t\t+nav_item(\"#\") About\n\t\t+nav_item(\"#\") Contact\n\t\t+nav_item_dropdown(\"#\")(label=\"Dropdown\")\n\t\t\t+nav_item(\"#\") Action\n\t\t\t+nav_item(\"#\") Another action\n\t\t\t+nav_item(\"#\") Something else here\n\t\t\t+nav_divider\n\t\t\t+nav_item(\"#\") Separated link\n\t\t\t+nav_item(\"#\") One more separated link\n\t\n\n\t.container\n\t\t// Main component for a primary marketing message or call to action\n\t\t.jumbotron\n\t\t\th1 Navbar example\n\t\t\tp\n\t\t\t\t| This example is a quick exercise to illustrate how the default, static and fixed to top navbar work. It includes the responsive CSS and HTML, so it also adapts to your viewport and device.\n\t\t\tp To see the difference between static and fixed top navbars, just scroll.\n\t\t\tp\n\t\t\t\ta.btn.btn-lg.btn-primary(href='../../components/#navbar', role='button') View navbar docs »\n\n"
  },
  {
    "path": "layouts/navbar-static.pug",
    "content": "extends ../_bootstrap\nappend styles\n\t// Custom styles for this template\n\tlink(href='../css/navbar-static-top.css', rel='stylesheet')\nblock body\n\t// Static navbar\n\t+navbar-static(\"Project name\",\"navbar\")\n\t\t+nav_item(\"#\",\"active\") Home\n\t\t+nav_item(\"#\") About\n\t\t+nav_item(\"#\") Contact\n\t\t+nav_item_dropdown(\"#\")(label=\"Dropdown\")\n\t\t\t+nav_item(\"#\") Action\n\t\t\t+nav_item(\"#\") Another action\n\t\t\t+nav_item(\"#\") Something else here\n\t\t\t+nav_divider\n\t\t\t+nav_item(\"#\") Separated link\n\t\t\t+nav_item(\"#\") One more separated link\n\t.container\n\t\t// Main component for a primary marketing message or call to action\n\t\t.jumbotron\n\t\t\th1 Navbar example\n\t\t\tp\n\t\t\t\t| This example is a quick exercise to illustrate how the default, static and fixed to top navbar work. It includes the responsive CSS and HTML, so it also adapts to your viewport and device.\n\t\t\tp To see the difference between static and fixed top navbars, just scroll.\n\t\t\tp\n\t\t\t\ta.btn.btn-lg.btn-primary(href='../../components/#navbar', role='button') View navbar docs »\n\t\n"
  },
  {
    "path": "layouts/navbar.pug",
    "content": "extends ../_bootstrap\nappend styles\n\t// Custom styles for this template\n\tlink(href='../css/navbar.css', rel='stylesheet')\nblock body\n\t.container\n\t\t// Static navbar\n\t\tnav.navbar.navbar-default\n\t\t\t.container-fluid\n\t\t\t\t.navbar-header\n\t\t\t\t\tbutton.navbar-toggle.collapsed(type='button', data-toggle='collapse', data-target='#navbar', aria-expanded='false', aria-controls='navbar')\n\t\t\t\t\t\tspan.sr-only Toggle navigation\n\t\t\t\t\t\tspan.icon-bar\n\t\t\t\t\t\tspan.icon-bar\n\t\t\t\t\t\tspan.icon-bar\n\t\t\t\t\ta.navbar-brand(href='#') Project name\n\t\t\t\t#navbar.navbar-collapse.collapse\n\t\t\t\t\tul.nav.navbar-nav\n\t\t\t\t\t\tli.active\n\t\t\t\t\t\t\ta(href='#') Home\n\t\t\t\t\t\tli\n\t\t\t\t\t\t\ta(href='#') About\n\t\t\t\t\t\tli\n\t\t\t\t\t\t\ta(href='#') Contact\n\t\t\t\t\t\tli.dropdown\n\t\t\t\t\t\t\ta.dropdown-toggle(href='#', data-toggle='dropdown', role='button', aria-expanded='false')\n\t\t\t\t\t\t\t\t| Dropdown \n\t\t\t\t\t\t\t\tspan.caret\n\t\t\t\t\t\t\tul.dropdown-menu(role='menu')\n\t\t\t\t\t\t\t\tli\n\t\t\t\t\t\t\t\t\ta(href='#') Action\n\t\t\t\t\t\t\t\tli\n\t\t\t\t\t\t\t\t\ta(href='#') Another action\n\t\t\t\t\t\t\t\tli\n\t\t\t\t\t\t\t\t\ta(href='#') Something else here\n\t\t\t\t\t\t\t\tli.divider\n\t\t\t\t\t\t\t\tli.dropdown-header Nav header\n\t\t\t\t\t\t\t\tli\n\t\t\t\t\t\t\t\t\ta(href='#') Separated link\n\t\t\t\t\t\t\t\tli\n\t\t\t\t\t\t\t\t\ta(href='#') One more separated link\n\t\t\t\t\tul.nav.navbar-nav.navbar-right\n\t\t\t\t\t\tli.active\n\t\t\t\t\t\t\ta(href='#')\n\t\t\t\t\t\t\t\t| Default \n\t\t\t\t\t\t\t\tspan.sr-only (current)\n\t\t\t\t\t\tli\n\t\t\t\t\t\t\ta(href='navbar-static.html') Static top\n\t\t\t\t\t\tli\n\t\t\t\t\t\t\ta(href='navbar-fixed.html') Fixed top\n\n\t\t// Main component for a primary marketing message or call to action\n\t\t.jumbotron\n\t\t\th1 Navbar example\n\t\t\tp\n\t\t\t\t| This example is a quick exercise to illustrate how the default, static navbar and fixed to top navbar work. It includes the responsive CSS and HTML, so it also adapts to your viewport and device.\n\t\t\tp\n\t\t\t\ta.btn.btn-lg.btn-primary(href='../../components/#navbar', role='button') View navbar docs »\n"
  },
  {
    "path": "layouts/non-responsive.pug",
    "content": "extends ../_bootstrap\nappend styles\n\t// Custom styles for this template\n\tlink(href='/css/non-responsive.css', rel='stylesheet')\nblock body\n\t// Fixed navbar\n\tnav.navbar.navbar-default.navbar-fixed-top\n\t\t.container\n\t\t\t.navbar-header\n\t\t\t\t// The mobile navbar-toggle button can be safely removed since you do not need it in a non-responsive implementation\n\t\t\t\ta.navbar-brand(href='#') Project name\n\t\t\t// Note that the .navbar-collapse and .collapse classes have been removed from the #navbar\n\t\t\t#navbar\n\t\t\t\tul.nav.navbar-nav\n\t\t\t\t\tli.active\n\t\t\t\t\t\ta(href='#') Home\n\t\t\t\t\tli\n\t\t\t\t\t\ta(href='#about') About\n\t\t\t\t\tli\n\t\t\t\t\t\ta(href='#contact') Contact\n\t\t\t\t\tli.dropdown\n\t\t\t\t\t\ta.dropdown-toggle(href='#', data-toggle='dropdown', role='button', aria-expanded='false')\n\t\t\t\t\t\t\t| Dropdown \n\t\t\t\t\t\t\tspan.caret\n\t\t\t\t\t\tul.dropdown-menu(role='menu')\n\t\t\t\t\t\t\tli\n\t\t\t\t\t\t\t\ta(href='#') Action\n\t\t\t\t\t\t\tli\n\t\t\t\t\t\t\t\ta(href='#') Another action\n\t\t\t\t\t\t\tli\n\t\t\t\t\t\t\t\ta(href='#') Something else here\n\t\t\t\t\t\t\tli.divider\n\t\t\t\t\t\t\tli.dropdown-header Nav header\n\t\t\t\t\t\t\tli\n\t\t\t\t\t\t\t\ta(href='#') Separated link\n\t\t\t\t\t\t\tli\n\t\t\t\t\t\t\t\ta(href='#') One more separated link\n\t\t\t\tform.navbar-form.navbar-left(role='search')\n\t\t\t\t\t.form-group\n\t\t\t\t\t\tinput.form-control(type='text', placeholder='Search')\n\t\t\t\t\tbutton.btn.btn-default(type='submit') Submit\n\t\t\t\tul.nav.navbar-nav.navbar-right\n\t\t\t\t\tli\n\t\t\t\t\t\ta(href='#') Link\n\t\t\t\t\tli\n\t\t\t\t\t\ta(href='#') Link\n\t\t\t\t\tli\n\t\t\t\t\t\ta(href='#') Link\n\n\t.container\n\t\t.page-header\n\t\t\th1 Non-responsive Bootstrap\n\t\t\tp.lead\n\t\t\t\t| Disable the responsiveness of Bootstrap by fixing the width of the container and using the first grid system tier. \n\t\t\t\ta(href='http://getbootstrap.com/getting-started/#disable-responsive') Read the documentation\n\t\t\t\t|  for more information.\n\t\th3 What changes\n\t\tp\n\t\t\t| Note the lack of the \n\t\t\tcode <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n\t\t\t| , which disables the zooming aspect of sites in mobile devices. In addition, we reset our container's width and changed the navbar to prevent collapsing, and are basically good to go.\n\t\th3 Regarding navbars\n\t\tp\n\t\t\t| As a heads up, the navbar component is rather tricky here in that the styles for displaying it are rather specific and detailed. Overrides to ensure desktop styles display are not as performant or sleek as one would like. Just be aware there may be potential gotchas as you build on top of this example when using the navbar.\n\t\th3 Browsers, scrolling, and fixed elements\n\t\tp\n\t\t\t| Non-responsive layouts highlight a key drawback to fixed elements. \n\t\t\tstrong.text-danger\n\t\t\t| Any fixed component, such as a fixed navbar, will not be scrollable when the viewport becomes narrower than the page content.\n\t\t\t|  In other words, given the non-responsive container width of 970px and a viewport of 800px, you'll potentially hide 170px of content.\n\t\tp\n\t\t\t| There is no way around this as it's default browser behavior. The only solution is a responsive layout or using a non-fixed element.\n\t\th3 Non-responsive grid system\n\t\t.row\n\t\t\t.col-xs-4 One third\n\t\t\t.col-xs-4 One third\n\t\t\t.col-xs-4 One third\n"
  },
  {
    "path": "layouts/offcanvas.pug",
    "content": "extends ../_bootstrap\nappend styles\n\t// Custom styles for this template\n\tlink(href='/css/offcanvas.css', rel='stylesheet')\nblock body\n\tnav.navbar.navbar-fixed-top.navbar-inverse\n\t\t.container\n\t\t\t.navbar-header\n\t\t\t\tbutton.navbar-toggle.collapsed(type='button', data-toggle='collapse', data-target='#navbar', aria-expanded='false', aria-controls='navbar')\n\t\t\t\t\tspan.sr-only Toggle navigation\n\t\t\t\t\tspan.icon-bar\n\t\t\t\t\tspan.icon-bar\n\t\t\t\t\tspan.icon-bar\n\t\t\t\ta.navbar-brand(href='#') Project name\n\t\t\t#navbar.collapse.navbar-collapse\n\t\t\t\tul.nav.navbar-nav\n\t\t\t\t\tli.active\n\t\t\t\t\t\ta(href='#') Home\n\t\t\t\t\tli\n\t\t\t\t\t\ta(href='#about') About\n\t\t\t\t\tli\n\t\t\t\t\t\ta(href='#contact') Contact\n\t.container\n\t\t.row.row-offcanvas.row-offcanvas-right\n\t\t\t.col-xs-12.col-sm-9\n\t\t\t\tp.pull-right.visible-xs\n\t\t\t\t\tbutton.btn.btn-primary.btn-xs(type='button', data-toggle='offcanvas') Toggle nav\n\t\t\t\t.jumbotron\n\t\t\t\t\th1 Hello, world!\n\t\t\t\t\tp\n\t\t\t\t\t\t| This is an example to show the potential of an offcanvas layout pattern in Bootstrap. Try some responsive-range viewport sizes to see it in action.\n\t\t\t\t.row\n\t\t\t\t\t.col-xs-6.col-lg-4\n\t\t\t\t\t\th2 Heading\n\t\t\t\t\t\tp\n\t\t\t\t\t\t\t| Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui.\n\t\t\t\t\t\tp\n\t\t\t\t\t\t\ta.btn.btn-default(href='#', role='button') View details »\n\n\t\t\t\t\t.col-xs-6.col-lg-4\n\t\t\t\t\t\th2 Heading\n\t\t\t\t\t\tp\n\t\t\t\t\t\t\t| Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui.\n\t\t\t\t\t\tp\n\t\t\t\t\t\t\ta.btn.btn-default(href='#', role='button') View details »\n\n\t\t\t\t\t.col-xs-6.col-lg-4\n\t\t\t\t\t\th2 Heading\n\t\t\t\t\t\tp\n\t\t\t\t\t\t\t| Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui.\n\t\t\t\t\t\tp\n\t\t\t\t\t\t\ta.btn.btn-default(href='#', role='button') View details »\n\n\t\t\t\t\t.col-xs-6.col-lg-4\n\t\t\t\t\t\th2 Heading\n\t\t\t\t\t\tp\n\t\t\t\t\t\t\t| Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui.\n\t\t\t\t\t\tp\n\t\t\t\t\t\t\ta.btn.btn-default(href='#', role='button') View details »\n\n\t\t\t\t\t.col-xs-6.col-lg-4\n\t\t\t\t\t\th2 Heading\n\t\t\t\t\t\tp\n\t\t\t\t\t\t\t| Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui.\n\t\t\t\t\t\tp\n\t\t\t\t\t\t\ta.btn.btn-default(href='#', role='button') View details »\n\t\t\t\t\t// /.col-xs-6.col-lg-4\n\t\t\t\t\t.col-xs-6.col-lg-4\n\t\t\t\t\t\th2 Heading\n\t\t\t\t\t\tp\n\t\t\t\t\t\t\t| Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui.\n\t\t\t\t\t\tp\n\t\t\t\t\t\t\ta.btn.btn-default(href='#', role='button') View details »\n\t\t\t\t\n\n\t\t\t#sidebar.col-xs-6.col-sm-3.sidebar-offcanvas\n\t\t\t\t.list-group\n\t\t\t\t\ta.list-group-item.active(href='#') Link\n\t\t\t\t\ta.list-group-item(href='#') Link\n\t\t\t\t\ta.list-group-item(href='#') Link\n\t\t\t\t\ta.list-group-item(href='#') Link\n\t\t\t\t\ta.list-group-item(href='#') Link\n\t\t\t\t\ta.list-group-item(href='#') Link\n\t\t\t\t\ta.list-group-item(href='#') Link\n\t\t\t\t\ta.list-group-item(href='#') Link\n\t\t\t\t\ta.list-group-item(href='#') Link\n\t\t\t\t\ta.list-group-item(href='#') Link\n\t\tblock content\n\t\thr\n\t\tfooter\n\t\t\tp © Company 2014\n\nappend scripts\n\tscript(src='/js/offcanvas.js')\n"
  },
  {
    "path": "layouts/sign-in.pug",
    "content": "extends ../_bootstrap\nappend styles\n\t// Custom styles for this template\n\tlink(href='../css/signin.css', rel='stylesheet')\nblock body\n\t.container\n\t\tform.form-signin\n\t\t\th2.form-signin-heading Please sign in\n\t\t\tlabel.sr-only(for='inputEmail') Email address\n\t\t\tinput#inputEmail.form-control(type='email', placeholder='Email address', required='', autofocus='')\n\t\t\tlabel.sr-only(for='inputPassword') Password\n\t\t\tinput#inputPassword.form-control(type='password', placeholder='Password', required='')\n\t\t\t.checkbox\n\t\t\t\tlabel\n\t\t\t\t\tinput(type='checkbox', value='remember-me')\n\t\t\t\t\t|  Remember me\n\t\t\tbutton.btn.btn-lg.btn-primary.btn-block(type='submit') Sign in\n\n\n"
  },
  {
    "path": "layouts/starter.pug",
    "content": "extends ../_bootstrap\nappend styles\n\t// Custom styles for this template\n\tlink(href='../css/starter-template.css', rel='stylesheet')\nblock body\n\t+navbar-fixed(\"Project name\",\"navbar\",\"inverse\")\n\t\t+nav_item(\"#\",\"active\") Home\n\t\t+nav_item(\"#\") About\n\t\t+nav_item(\"#\") Contact\n\t.container\n\t\t.starter-template\n\t\t\th1 Bootstrap starter template\n\t\t\tp.lead\n\t\t\t\t| Use this document as a way to quickly start any new project.\n\t\t\t\tbr\n\t\t\t\t|  All you get is this text and a mostly barebones HTML document.\n\t\n\n"
  },
  {
    "path": "layouts/sticky-footer-navbar.pug",
    "content": "extends ../_bootstrap\nappend styles\n\t// Custom styles for this template\n\tlink(href='/css/sticky-footer-navbar.css', rel='stylesheet')\nblock body\n\t// Fixed navbar\n\tnav.navbar.navbar-default.navbar-fixed-top\n\t\t.container\n\t\t\t.navbar-header\n\t\t\t\tbutton.navbar-toggle.collapsed(type='button', data-toggle='collapse', data-target='#navbar', aria-expanded='false', aria-controls='navbar')\n\t\t\t\t\tspan.sr-only Toggle navigation\n\t\t\t\t\tspan.icon-bar\n\t\t\t\t\tspan.icon-bar\n\t\t\t\t\tspan.icon-bar\n\t\t\t\ta.navbar-brand(href='#') Project name\n\t\t\t#navbar.collapse.navbar-collapse\n\t\t\t\tul.nav.navbar-nav\n\t\t\t\t\tli.active\n\t\t\t\t\t\ta(href='#') Home\n\t\t\t\t\tli\n\t\t\t\t\t\ta(href='#about') About\n\t\t\t\t\tli\n\t\t\t\t\t\ta(href='#contact') Contact\n\t\t\t\t\tli.dropdown\n\t\t\t\t\t\ta.dropdown-toggle(href='#', data-toggle='dropdown', role='button', aria-expanded='false')\n\t\t\t\t\t\t\t| Dropdown \n\t\t\t\t\t\t\tspan.caret\n\t\t\t\t\t\tul.dropdown-menu(role='menu')\n\t\t\t\t\t\t\tli\n\t\t\t\t\t\t\t\ta(href='#') Action\n\t\t\t\t\t\t\tli\n\t\t\t\t\t\t\t\ta(href='#') Another action\n\t\t\t\t\t\t\tli\n\t\t\t\t\t\t\t\ta(href='#') Something else here\n\t\t\t\t\t\t\tli.divider\n\t\t\t\t\t\t\tli.dropdown-header Nav header\n\t\t\t\t\t\t\tli\n\t\t\t\t\t\t\t\ta(href='#') Separated link\n\t\t\t\t\t\t\tli\n\t\t\t\t\t\t\t\ta(href='#') One more separated link\n\n\t.container\n\t\t.page-header\n\t\t\th1 Sticky footer with fixed navbar\n\t\tp.lead\n\t\t\t| Pin a fixed-height footer to the bottom of the viewport in desktop browsers with this custom HTML and CSS. A fixed navbar has been added with \n\t\t\tcode padding-top: 60px;\n\t\t\t|  on the \n\t\t\tcode body > .container\n\t\t\t| .\n\t\tp\n\t\t\t| Back to \n\t\t\ta(href='../sticky-footer') the default sticky footer\n\t\t\t|  minus the navbar.\n\tfooter.footer\n\t\t.container\n\t\t\tp.text-muted Place sticky footer content here.\n"
  },
  {
    "path": "layouts/sticky-footer.pug",
    "content": "extends ../_bootstrap\nappend styles\n\t// Custom styles for this template\n\tlink(href='../css/sticky-footer.css', rel='stylesheet')\n\nblock body\n\t// Begin page content\n\t.container\n\t\t.page-header\n\t\t\th1 Sticky footer\n\t\tp.lead\n\t\t\t| Pin a fixed-height footer to the bottom of the viewport in desktop browsers with this custom HTML and CSS.\n\t\tp\n\t\t\t| Use \n\t\t\ta(href='../sticky-footer-navbar') the sticky footer with a fixed navbar\n\t\t\t|  if need be, too.\n\tfooter.footer\n\t\t.container\n\t\t\tp.text-muted Place sticky footer content here.\n\n"
  },
  {
    "path": "layouts/theme-template.pug",
    "content": "extends ../_bootstrap\nappend styles\n\t// Bootstrap theme\n\tlink(rel=\"stylesheet\", href=\"https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap-theme.min.css\")\n\t// Custom styles for this template\n\tlink(href='../css/theme.css', rel='stylesheet')\nblock body\n\t// Fixed navbar\n\tnav.navbar.navbar-inverse.navbar-fixed-top\n\t\t.container\n\t\t\t.navbar-header\n\t\t\t\tbutton.navbar-toggle.collapsed(type='button', data-toggle='collapse', data-target='#navbar', aria-expanded='false', aria-controls='navbar')\n\t\t\t\t\tspan.sr-only Toggle navigation\n\t\t\t\t\tspan.icon-bar\n\t\t\t\t\tspan.icon-bar\n\t\t\t\t\tspan.icon-bar\n\t\t\t\ta.navbar-brand(href='#') Bootstrap theme\n\t\t\t#navbar.navbar-collapse.collapse\n\t\t\t\tul.nav.navbar-nav\n\t\t\t\t\tli.active\n\t\t\t\t\t\ta(href='#') Home\n\t\t\t\t\tli\n\t\t\t\t\t\ta(href='#about') About\n\t\t\t\t\tli\n\t\t\t\t\t\ta(href='#contact') Contact\n\t\t\t\t\tli.dropdown\n\t\t\t\t\t\ta.dropdown-toggle(href='#', data-toggle='dropdown', role='button', aria-expanded='false')\n\t\t\t\t\t\t\t| Dropdown \n\t\t\t\t\t\t\tspan.caret\n\t\t\t\t\t\tul.dropdown-menu(role='menu')\n\t\t\t\t\t\t\tli\n\t\t\t\t\t\t\t\ta(href='#') Action\n\t\t\t\t\t\t\tli\n\t\t\t\t\t\t\t\ta(href='#') Another action\n\t\t\t\t\t\t\tli\n\t\t\t\t\t\t\t\ta(href='#') Something else here\n\t\t\t\t\t\t\tli.divider\n\t\t\t\t\t\t\tli.dropdown-header Nav header\n\t\t\t\t\t\t\tli\n\t\t\t\t\t\t\t\ta(href='#') Separated link\n\t\t\t\t\t\t\tli\n\t\t\t\t\t\t\t\ta(href='#') One more separated link\n\t\t\n\t.container.theme-showcase(role='main')\n\t\t// Main jumbotron for a primary marketing message or call to action\n\t\t.jumbotron\n\t\t\th1 Theme example\n\t\t\tp\n\t\t\t\t| This is a template showcasing the optional theme stylesheet included in Bootstrap. Use it as a starting point to create something more unique by building on or modifying it.\n\t\t.page-header\n\t\t\th1 Buttons\n\t\tp\n\t\t\tbutton.btn.btn-lg.btn-default(type='button') Default\n\t\t\tbutton.btn.btn-lg.btn-primary(type='button') Primary\n\t\t\tbutton.btn.btn-lg.btn-success(type='button') Success\n\t\t\tbutton.btn.btn-lg.btn-info(type='button') Info\n\t\t\tbutton.btn.btn-lg.btn-warning(type='button') Warning\n\t\t\tbutton.btn.btn-lg.btn-danger(type='button') Danger\n\t\t\tbutton.btn.btn-lg.btn-link(type='button') Link\n\t\tp\n\t\t\tbutton.btn.btn-default(type='button') Default\n\t\t\tbutton.btn.btn-primary(type='button') Primary\n\t\t\tbutton.btn.btn-success(type='button') Success\n\t\t\tbutton.btn.btn-info(type='button') Info\n\t\t\tbutton.btn.btn-warning(type='button') Warning\n\t\t\tbutton.btn.btn-danger(type='button') Danger\n\t\t\tbutton.btn.btn-link(type='button') Link\n\t\tp\n\t\t\tbutton.btn.btn-sm.btn-default(type='button') Default\n\t\t\tbutton.btn.btn-sm.btn-primary(type='button') Primary\n\t\t\tbutton.btn.btn-sm.btn-success(type='button') Success\n\t\t\tbutton.btn.btn-sm.btn-info(type='button') Info\n\t\t\tbutton.btn.btn-sm.btn-warning(type='button') Warning\n\t\t\tbutton.btn.btn-sm.btn-danger(type='button') Danger\n\t\t\tbutton.btn.btn-sm.btn-link(type='button') Link\n\t\tp\n\t\t\tbutton.btn.btn-xs.btn-default(type='button') Default\n\t\t\tbutton.btn.btn-xs.btn-primary(type='button') Primary\n\t\t\tbutton.btn.btn-xs.btn-success(type='button') Success\n\t\t\tbutton.btn.btn-xs.btn-info(type='button') Info\n\t\t\tbutton.btn.btn-xs.btn-warning(type='button') Warning\n\t\t\tbutton.btn.btn-xs.btn-danger(type='button') Danger\n\t\t\tbutton.btn.btn-xs.btn-link(type='button') Link\n\t\t.page-header\n\t\t\th1 Tables\n\t\t.row\n\t\t\t.col-md-6\n\t\t\t\t+table([\"#\",\"First Name\",\"Last Name\",\"Username\"],[[\"1\",\"Mark\",\"Otto\",\"@mdo\"],[\"2\",\"Jacob\",\"Thornton\",\"@fat\"],[\"3\",\"Larry\",\"the Bird\",\"@twitter\"]])\n\t\t\t.col-md-6\n\t\t\t\t+table-striped([\"#\",\"First Name\",\"Last Name\",\"Username\"],[[\"1\",\"Mark\",\"Otto\",\"@mdo\"],[\"2\",\"Jacob\",\"Thornton\",\"@fat\"],[\"3\",\"Larry\",\"the Bird\",\"@twitter\"]])\n\t\t.row\n\t\t\t.col-md-6\n\t\t\t\t+table-bordered([\"#\",\"First Name\",\"Last Name\",\"Username\"],[[\"1\",\"Mark\",\"Otto\",\"@mdo\"],[\"2\",\"Jacob\",\"Thornton\",\"@fat\"],[\"3\",\"Larry\",\"the Bird\",\"@twitter\"]])\n\t\t\t.col-md-6\n\t\t\t\t+table-condensed([\"#\",\"First Name\",\"Last Name\",\"Username\"],[[\"1\",\"Mark\",\"Otto\",\"@mdo\"],[\"2\",\"Jacob\",\"Thornton\",\"@fat\"],[\"3\",\"Larry\",\"the Bird\",\"@twitter\"]])\n\t\t.page-header\n\t\t\th1 Thumbnails\n\t\timg.img-thumbnail(src='../images/thumb.jpg', alt='A generic square placeholder image with a white border around it, making it resemble a photograph taken with an old instant camera')\n\t\t.page-header\n\t\t\th1 Labels\n\t\th1\n\t\t\tspan.label.label-default Default\n\t\t\tspan.label.label-primary Primary\n\t\t\tspan.label.label-success Success\n\t\t\tspan.label.label-info Info\n\t\t\tspan.label.label-warning Warning\n\t\t\tspan.label.label-danger Danger\n\t\th2\n\t\t\tspan.label.label-default Default\n\t\t\tspan.label.label-primary Primary\n\t\t\tspan.label.label-success Success\n\t\t\tspan.label.label-info Info\n\t\t\tspan.label.label-warning Warning\n\t\t\tspan.label.label-danger Danger\n\t\th3\n\t\t\tspan.label.label-default Default\n\t\t\tspan.label.label-primary Primary\n\t\t\tspan.label.label-success Success\n\t\t\tspan.label.label-info Info\n\t\t\tspan.label.label-warning Warning\n\t\t\tspan.label.label-danger Danger\n\t\th4\n\t\t\tspan.label.label-default Default\n\t\t\tspan.label.label-primary Primary\n\t\t\tspan.label.label-success Success\n\t\t\tspan.label.label-info Info\n\t\t\tspan.label.label-warning Warning\n\t\t\tspan.label.label-danger Danger\n\t\th5\n\t\t\tspan.label.label-default Default\n\t\t\tspan.label.label-primary Primary\n\t\t\tspan.label.label-success Success\n\t\t\tspan.label.label-info Info\n\t\t\tspan.label.label-warning Warning\n\t\t\tspan.label.label-danger Danger\n\t\th6\n\t\t\tspan.label.label-default Default\n\t\t\tspan.label.label-primary Primary\n\t\t\tspan.label.label-success Success\n\t\t\tspan.label.label-info Info\n\t\t\tspan.label.label-warning Warning\n\t\t\tspan.label.label-danger Danger\n\t\tp\n\t\t\tspan.label.label-default Default\n\t\t\tspan.label.label-primary Primary\n\t\t\tspan.label.label-success Success\n\t\t\tspan.label.label-info Info\n\t\t\tspan.label.label-warning Warning\n\t\t\tspan.label.label-danger Danger\n\t\t.page-header\n\t\t\th1 Badges\n\t\tp\n\t\t\ta(href='#')\n\t\t\t\t| Inbox \n\t\t\t\tspan.badge 42\n\t\tul.nav.nav-pills(role='tablist')\n\t\t\tli.active(role='presentation')\n\t\t\t\ta(href='#')\n\t\t\t\t\t| Home \n\t\t\t\t\tspan.badge 42\n\t\t\tli(role='presentation')\n\t\t\t\ta(href='#') Profile\n\t\t\tli(role='presentation')\n\t\t\t\ta(href='#')\n\t\t\t\t\t| Messages \n\t\t\t\t\tspan.badge 3\n\t\t.page-header\n\t\t\th1 Dropdown menus\n\t\t.dropdown.theme-dropdown.clearfix\n\t\t\ta#dropdownMenu1.sr-only.dropdown-toggle(href='#', data-toggle='dropdown', role='button', aria-expanded='false')\n\t\t\t\t| Dropdown \n\t\t\t\tspan.caret\n\t\t\tul.dropdown-menu(role='menu', aria-labelledby='dropdownMenu1')\n\t\t\t\tli.active(role='presentation')\n\t\t\t\t\ta(role='menuitem', tabindex='-1', href='#') Action\n\t\t\t\tli(role='presentation')\n\t\t\t\t\ta(role='menuitem', tabindex='-1', href='#') Another action\n\t\t\t\tli(role='presentation')\n\t\t\t\t\ta(role='menuitem', tabindex='-1', href='#') Something else here\n\t\t\t\tli.divider(role='presentation')\n\t\t\t\tli(role='presentation')\n\t\t\t\t\ta(role='menuitem', tabindex='-1', href='#') Separated link\n\t\t.page-header\n\t\t\th1 Navs\n\t\tul.nav.nav-tabs(role='tablist')\n\t\t\tli.active(role='presentation')\n\t\t\t\ta(href='#') Home\n\t\t\tli(role='presentation')\n\t\t\t\ta(href='#') Profile\n\t\t\tli(role='presentation')\n\t\t\t\ta(href='#') Messages\n\t\tul.nav.nav-pills(role='tablist')\n\t\t\tli.active(role='presentation')\n\t\t\t\ta(href='#') Home\n\t\t\tli(role='presentation')\n\t\t\t\ta(href='#') Profile\n\t\t\tli(role='presentation')\n\t\t\t\ta(href='#') Messages\n\t\t.page-header\n\t\t\th1 Navbars\n\t\tnav.navbar.navbar-default\n\t\t\t.container\n\t\t\t\t.navbar-header\n\t\t\t\t\tbutton.navbar-toggle.collapsed(type='button', data-toggle='collapse', data-target='.navbar-collapse')\n\t\t\t\t\t\tspan.sr-only Toggle navigation\n\t\t\t\t\t\tspan.icon-bar\n\t\t\t\t\t\tspan.icon-bar\n\t\t\t\t\t\tspan.icon-bar\n\t\t\t\t\ta.navbar-brand(href='#') Project name\n\t\t\t\t.navbar-collapse.collapse\n\t\t\t\t\tul.nav.navbar-nav\n\t\t\t\t\t\tli.active\n\t\t\t\t\t\t\ta(href='#') Home\n\t\t\t\t\t\tli\n\t\t\t\t\t\t\ta(href='#about') About\n\t\t\t\t\t\tli\n\t\t\t\t\t\t\ta(href='#contact') Contact\n\t\t\t\t\t\tli.dropdown\n\t\t\t\t\t\t\ta.dropdown-toggle(href='#', data-toggle='dropdown', role='button', aria-expanded='false')\n\t\t\t\t\t\t\t\t| Dropdown \n\t\t\t\t\t\t\t\tspan.caret\n\t\t\t\t\t\t\tul.dropdown-menu(role='menu')\n\t\t\t\t\t\t\t\tli\n\t\t\t\t\t\t\t\t\ta(href='#') Action\n\t\t\t\t\t\t\t\tli\n\t\t\t\t\t\t\t\t\ta(href='#') Another action\n\t\t\t\t\t\t\t\tli\n\t\t\t\t\t\t\t\t\ta(href='#') Something else here\n\t\t\t\t\t\t\t\tli.divider\n\t\t\t\t\t\t\t\tli.dropdown-header Nav header\n\t\t\t\t\t\t\t\tli\n\t\t\t\t\t\t\t\t\ta(href='#') Separated link\n\t\t\t\t\t\t\t\tli\n\t\t\t\t\t\t\t\t\ta(href='#') One more separated link\n\n\t\tnav.navbar.navbar-inverse\n\t\t\t.container\n\t\t\t\t.navbar-header\n\t\t\t\t\tbutton.navbar-toggle.collapsed(type='button', data-toggle='collapse', data-target='.navbar-collapse')\n\t\t\t\t\t\tspan.sr-only Toggle navigation\n\t\t\t\t\t\tspan.icon-bar\n\t\t\t\t\t\tspan.icon-bar\n\t\t\t\t\t\tspan.icon-bar\n\t\t\t\t\ta.navbar-brand(href='#') Project name\n\t\t\t\t.navbar-collapse.collapse\n\t\t\t\t\tul.nav.navbar-nav\n\t\t\t\t\t\tli.active\n\t\t\t\t\t\t\ta(href='#') Home\n\t\t\t\t\t\tli\n\t\t\t\t\t\t\ta(href='#about') About\n\t\t\t\t\t\tli\n\t\t\t\t\t\t\ta(href='#contact') Contact\n\t\t\t\t\t\tli.dropdown\n\t\t\t\t\t\t\ta.dropdown-toggle(href='#', data-toggle='dropdown', role='button', aria-expanded='false')\n\t\t\t\t\t\t\t\t| Dropdown \n\t\t\t\t\t\t\t\tspan.caret\n\t\t\t\t\t\t\tul.dropdown-menu(role='menu')\n\t\t\t\t\t\t\t\tli\n\t\t\t\t\t\t\t\t\ta(href='#') Action\n\t\t\t\t\t\t\t\tli\n\t\t\t\t\t\t\t\t\ta(href='#') Another action\n\t\t\t\t\t\t\t\tli\n\t\t\t\t\t\t\t\t\ta(href='#') Something else here\n\t\t\t\t\t\t\t\tli.divider\n\t\t\t\t\t\t\t\tli.dropdown-header Nav header\n\t\t\t\t\t\t\t\tli\n\t\t\t\t\t\t\t\t\ta(href='#') Separated link\n\t\t\t\t\t\t\t\tli\n\t\t\t\t\t\t\t\t\ta(href='#') One more separated link\n\n\t\t.page-header\n\t\t\th1 Alerts\n\t\t+alert-success(\"<strong>Well done!</strong> You successfully read this important alert message.\")\n\t\t+alert-info(\"<strong>Heads up!</strong> This alert needs your attention, but it's not super important.\")\n\t\t+alert-warning(\"<strong>Warning!</strong> Best check yo self, you're not looking too good.\")\n\t\t+alert-danger(\"<strong>Oh snap!</strong> Change a few things up and try submitting again.\")\n\t\t.page-header\n\t\t\th1 Progress bars\n\t\t+progress-bar(60)\n\t\t+progress-bar-info(20)\n\t\t+progress-bar-warning(60)\n\t\t+progress-bar-danger(80)\n\t\t+progress-bar-striped(60)\n\t\t.progress\n\t\t\t.progress-bar.progress-bar-success(style='width: 35%')\n\t\t\t\tspan.sr-only 35% Complete (success)\n\t\t\t.progress-bar.progress-bar-warning(style='width: 20%')\n\t\t\t\tspan.sr-only 20% Complete (warning)\n\t\t\t.progress-bar.progress-bar-danger(style='width: 10%')\n\t\t\t\tspan.sr-only 10% Complete (danger)\n\t\t.page-header\n\t\t\th1 List groups\n\t\t.row\n\t\t\t.col-sm-4\n\t\t\t\tul.list-group\n\t\t\t\t\tli.list-group-item Cras justo odio\n\t\t\t\t\tli.list-group-item Dapibus ac facilisis in\n\t\t\t\t\tli.list-group-item Morbi leo risus\n\t\t\t\t\tli.list-group-item Porta ac consectetur ac\n\t\t\t\t\tli.list-group-item Vestibulum at eros\n\t\t\t// /.col-sm-4\n\t\t\t.col-sm-4\n\t\t\t\t.list-group\n\t\t\t\t\ta.list-group-item.active(href='#')\n\t\t\t\t\t\t| Cras justo odio\n\t\t\t\t\ta.list-group-item(href='#') Dapibus ac facilisis in\n\t\t\t\t\ta.list-group-item(href='#') Morbi leo risus\n\t\t\t\t\ta.list-group-item(href='#') Porta ac consectetur ac\n\t\t\t\t\ta.list-group-item(href='#') Vestibulum at eros\n\t\t\t// /.col-sm-4\n\t\t\t.col-sm-4\n\t\t\t\t.list-group\n\t\t\t\t\ta.list-group-item.active(href='#')\n\t\t\t\t\t\th4.list-group-item-heading List group item heading\n\t\t\t\t\t\tp.list-group-item-text\n\t\t\t\t\t\t\t| Donec id elit non mi porta gravida at eget metus. Maecenas sed diam eget risus varius blandit.\n\t\t\t\t\ta.list-group-item(href='#')\n\t\t\t\t\t\th4.list-group-item-heading List group item heading\n\t\t\t\t\t\tp.list-group-item-text\n\t\t\t\t\t\t\t| Donec id elit non mi porta gravida at eget metus. Maecenas sed diam eget risus varius blandit.\n\t\t\t\t\ta.list-group-item(href='#')\n\t\t\t\t\t\th4.list-group-item-heading List group item heading\n\t\t\t\t\t\tp.list-group-item-text\n\t\t\t\t\t\t\t| Donec id elit non mi porta gravida at eget metus. Maecenas sed diam eget risus varius blandit.\n\t\t// /.col-sm-4\n\t\t.page-header\n\t\t\th1 Panels\n\t\t.row\n\t\t\t.col-sm-4\n\t\t\t\t+panel-default(\"Panel title\")\n\t\t\t\t\t| Panel content\n\t\t\t\t+panel-primary(\"Panel title\")\n\t\t\t\t\t| Panel content\n\t\t\t.col-sm-4\n\t\t\t\t+panel-success(\"Panel title\")\n\t\t\t\t\t| Panel content\n\t\t\t\t+panel-info(\"Panel title\")\n\t\t\t\t\t| Panel content\n\t\t\t.col-sm-4\n\t\t\t\t+panel-warning(\"Panel title\")\n\t\t\t\t\t| Panel content\n\t\t\t\t+panel-danger(\"Panel title\")\n\t\t\t\t\t| Panel content\n\t\t.page-header\n\t\t\th1 Wells\n\t\t.well\n\t\t\tp\n\t\t\t\t| Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas sed diam eget risus varius blandit sit amet non magna. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Cras mattis consectetur purus sit amet fermentum. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Aenean lacinia bibendum nulla sed consectetur.\n\t\t.page-header\n\t\t\th1 Carousel\n\t\t+carousel(\"example-generic\",[{image:'../images/carousel/slide1.jpg'},{image:'../images/carousel/slide2.jpg'},{image:'../images/carousel/slide3.jpg',}])\n"
  },
  {
    "path": "package.json",
    "content": "{\n  \"name\": \"jade-bootstrap\",\n  \"version\": \"1.0.15\",\n  \"description\": \"Bootstrap framework written completely using mixins in JADE\",\n  \"main\": \"bootstrap.jade\",\n  \"scripts\": {\n    \"test\": \"mocha -R spec\"\n  },\n  \"repository\": {\n    \"type\": \"git\",\n    \"url\": \"https://github.com/rajasegar/JADE-Bootstrap.git\"\n  },\n  \"keywords\": [\n    \"jade\",\n    \"bootstrap\",\n    \"twitter\",\n    \"bootstrap\",\n    \"frontend\",\n    \"ui\",\n    \"framework\",\n    \"jade\",\n    \"mixins\"\n  ],\n  \"author\": \"Rajasegar Chandiran\",\n  \"license\": \"Apache\",\n  \"bugs\": {\n    \"url\": \"https://github.com/rajasegar/JADE-Bootstrap/issues\"\n  },\n  \"homepage\": \"https://github.com/rajasegar/JADE-Bootstrap\",\n  \"devDependencies\": {\n    \"pug\": \"^2.0.0-beta11\",\n    \"jasmine\": \"^2.4.1\",\n    \"mocha\": \"^2.3.4\"\n  },\n  \"dependencies\": {}\n}\n"
  },
  {
    "path": "test/accordion.js",
    "content": "var pug = require(\"pug\");\nvar fs = require(\"fs\");\nvar assert = require(\"assert\");\nvar path = require(\"path\");\n\ndescribe(\"Accordion\",function() {\n\n    var accordionTemplate = `include ../../../components/accordion\n+accordion(id)\n    +accordion-item(type,title,parent,expanded)`;\n    fs.writeFileSync(path.join(__dirname,\"fixtures/accordion\",\"accordion.pug\"),accordionTemplate);\n    var fn = pug.compileFile(path.join(__dirname,\"fixtures/accordion\",\"accordion.pug\"));\n    var actual = '<div id=\"accordionmyaccordion\" role=\"tablist\" aria-multiselectable=\"true\" class=\"panel-group\"><div class=\"panel panel-primary\"><div role=\"tab\" id=\"headingMy Accordion Item\" class=\"panel-heading\"><h4 class=\"panel-title\"><a data-toggle=\"collapse\" data-parent=\"#accordionmyaccordion\" href=\"#collapseMyAccordionItem\" aria-expanded=\"true\" aria-controls=\"collapseOne\">My Accordion Item</a></h4></div><div id=\"collapseMyAccordionItem\" role=\"tabpanel\" aria-labelledby=\"headingMy Accordion Item\" class=\"panel-collapse collapse\"><div class=\"panel-body\"></div></div></div></div>';\n    var locals = { id: \"myaccordion\",title:\"My Accordion Item\",type: \"primary\", parent: \"myaccordion\",expanded:false};\n    it(\"should generate an accordion\",function() {\n        assert(actual,fn(locals));\n    });\n\n    var accItemPrimary = `include ../../../components/accordion\n+accordion-item-primary(title,parent,expanded)`;\n    fs.writeFileSync(path.join(__dirname, \"fixtures/accordion\",\"accordion-item-primary.pug\"),accItemPrimary);\n    fn = pug.compileFile(path.join(__dirname,\"fixtures/accordion\",\"accordion-item-primary.pug\"));\n    actual = 'div class=\"panel panel-primary\"><div role=\"tab\" id=\"headingMy Accordion Item\" class=\"panel-heading\"><h4 class=\"panel-title\"><a data-toggle=\"collapse\" data-parent=\"#accordionmyaccordion\" href=\"#collapseMyAccordionItem\" aria-expanded=\"true\" aria-controls=\"collapseOne\">My Accordion Item</a></h4></div><div id=\"collapseMyAccordionItem\" role=\"tabpanel\" aria-labelledby=\"headingMy Accordion Item\" class=\"panel-collapse collapse\"><div class=\"panel-body\"></div></div></div>'; \n    it(\"should generate a primary accordion item\", function() {\n        assert(actual, fn(locals));\n    });\n});\n"
  },
  {
    "path": "test/alert.js",
    "content": "var assert = require(\"assert\");\nvar pug = require(\"pug\");\nvar fs = require(\"fs\");\nvar path = require(\"path\");\n\ndescribe(\"Alerts\",function() {\n\nvar alertTypes = [\"info\",\"warning\",\"danger\",\"success\"];\n// function for generating test data\nfunction generateTestData(prefix,alertTypes) {\n    return alertTypes.map(function(m) {\n        return  {\n            suite: `${prefix}-${m} mixin`,\n            spec: `should render a ${m} ${prefix}`,\n            fixture: `${prefix}-${m}.pug`,\n            locals: { message: `This is a ${m} ${prefix}` },\n            actual: `<div class=\"${prefix} ${prefix}-${m}\" role=\"alert\">This is a ${m} ${prefix}</div>`\n        };\n    });\n}\n\nfunction runSpecs(item) {\n    describe(item.suite,function() {\n        it(item.spec,function() {\n            var fn = pug.compileFile(path.join(__dirname,\"fixtures/alerts\", item.fixture));\n            assert.equal(item.actual,fn(item.locals));\n        });\n    });\n}\n\n\n// Generic alert mixins\nvar genericAlert = `include ../../../components/alerts\n+alert(type,message)`;\nfs.writeFileSync(path.join(__dirname,\"fixtures/alerts\",\"alert.pug\"),genericAlert);\n\nalertTypes.map(function(t) {\n    return {\n        suite: `Generic alert ${t}`,\n        spec: `should render a ${t} alert`,\n        fixture: \"alert.pug\",\n        locals: { type: `${t}`,message:`This is a ${t} alert`},\n        actual: `<div class=\"alert alert-${t}\" role=\"alert\">This is a ${t} alert</div>`\n    };\n}).forEach(runSpecs);\n\n\n// Generic Icon alert-i mixins\nvar genericAlertIcon = `include ../../../components/alerts\n+alert-i(type,message,icon)`;\nfs.writeFileSync(path.join(__dirname,\"fixtures/alerts\",\"alert-i.pug\"),genericAlertIcon);\n\nalertTypes.map(function(t) {\n    return {\n        suite: `Generic Icon alert-i ${t}`,\n        spec: `should render a ${t} icon alert`,\n        fixture: \"alert-i.pug\",\n        locals: { type: `${t}`,message:`This is a ${t} icon alert`, icon:\"info\"},\n        actual: `<div class=\"alert alert-${t}\" role=\"alert\"><span class=\"glyphicon glyphicon-info\" aria-hidden=\"true\"></span> &nbsp;This is a ${t} icon alert</div>`\n    };\n}).forEach(runSpecs);\n\n// Generic alert-x mixins\nvar genericAlertx = `include ../../../components/alerts\n+alert-x(type,message)`;\nfs.writeFileSync(path.join(__dirname,\"fixtures/alerts\",\"alert-x.pug\"),genericAlertx);\n\nalertTypes.map(function(t) {\n    return {\n        suite: `Generic alert-x ${t}`,\n        spec: `should render a ${t} dismissible alert`,\n        fixture: \"alert-x.pug\",\n        locals: { type: `${t}`,message:`This is a ${t} dismissible alert`},\n        actual: `<div class=\"alert alert-dismissible alert-${t}\" role=\"alert\"><button class=\"close\" type=\"button\" data-dismiss=\"alert\" aria-label=\"Close\"><span aria-hidden=\"true\"> &times;</span></button>This is a ${t} dismissible alert</div>`\n    };\n}).forEach(runSpecs);\n\n// write fixture data for alert-type mixins\nalertTypes.forEach(function(m) {\n    var fixtureTemplate = `include ../../../components/alerts\n+alert-${m}(message)`;\n    var fileName = `alert-${m}.pug`;\n    fs.writeFileSync(path.join(__dirname,\"fixtures/alerts\",fileName),fixtureTemplate);\n});\n\n\ngenerateTestData(\"alert\",alertTypes).forEach(runSpecs);\n\n// write fixture data for alert-i-type mixins\nalertTypes.forEach(function(m) {\n    var fixtureTemplate = `include ../../../components/alerts\n+alert-i-${m}(message)`;\n    var fileName = `alert-i-${m}.pug`;\n    fs.writeFileSync(path.join(__dirname,\"fixtures/alerts\",fileName),fixtureTemplate);\n});\nalertTypes.map(function(t) {\n    var icon = \"info-sign\";\n    switch(t) {\n        case \"warning\":\n            icon = \"exclamation-sign\";\n            break;\n        case \"danger\":\n            icon = \"remove-sign\";\n            break;\n        case \"success\":\n            icon = \"ok-sign\";\n            break;\n        default:\n    }\n\n    return {\n        suite: `alert-i-${t}`,\n        spec: `should render a ${t} icon alert`,\n        fixture: `alert-i-${t}.pug`,\n        locals: { message:`This is a ${t} icon alert`, icon:\"info\"},\n        actual: `<div class=\"alert alert-${t}\" role=\"alert\"><span class=\"glyphicon glyphicon-${icon}\" aria-hidden=\"true\"></span> &nbsp;This is a ${t} icon alert</div>`\n    };\n}).forEach(runSpecs);\n\n\n// write fixture data for alert-x-type mixins\nalertTypes.forEach(function(m) {\n    var fixtureTemplate = `include ../../../components/alerts\n+alert-x-${m}(message)`;\n    var fileName = `alert-x-${m}.pug`;\n    fs.writeFileSync(path.join(__dirname,\"fixtures/alerts\",fileName),fixtureTemplate);\n});\n\nalertTypes.map(function(t) {\n    return {\n        suite: `alert-x-${t}`,\n        spec: `should render a ${t} dismissible alert`,\n        fixture: `alert-x-${t}.pug`,\n        locals: { type: `${t}`,message:`This is a ${t} dismissible alert`},\n        actual: `<div class=\"alert alert-dismissible alert-${t}\" role=\"alert\"><button class=\"close\" type=\"button\" data-dismiss=\"alert\" aria-label=\"Close\"><span aria-hidden=\"true\"> &times;</span></button>This is a ${t} dismissible alert</div>`\n    };\n}).forEach(runSpecs);\n\n\n// write fixture data for alert-ix-type mixins\nalertTypes.forEach(function(m) {\n    var fixtureTemplate = `include ../../../components/alerts\n+alert-ix-${m}(message,icon)`;\n    var fileName = `alert-ix-${m}.pug`;\n    fs.writeFileSync(path.join(__dirname,\"fixtures/alerts\",fileName),fixtureTemplate);\n});\nalertTypes.map(function(t) {\n    return {\n        suite: `alert-ix-${t}`,\n        spec: `should render a ${t} dismissible icon alert`,\n        fixture: `alert-ix-${t}.pug`,\n        locals: { message:`This is a ${t} dismissible icon alert`,icon:\"info-sign\"},\n        actual: `<div class=\"alert alert-dismissible alert-${t}\" role=\"alert\"><span class=\"glyphicon glyphicon-info-sign\" aria-hidden=\"true\"></span><button class=\"close\" type=\"button\" data-dismiss=\"alert\" aria-label=\"Close\"><span aria-hidden=\"true\"> &times;</span></button>This is a ${t} dismissible icon alert</div>`\n    };\n}).forEach(runSpecs);\n});\n"
  },
  {
    "path": "test/bootswatch.js",
    "content": "var pug = require(\"pug\");\nvar assert = require(\"assert\");\nvar path = require(\"path\");\n\n\ndescribe(\"Bootswatch\",function() {\n    it(\"should generate a stylesheet link to bootswatch\", function() {\n        var fn = pug.compileFile(path.join(__dirname, \"fixtures\",\"bootswatch.pug\"));\n        assert.equal('<link href=\"https://maxcdn.bootstrapcdn.com/bootswatch/3.3.4/luna/bootstrap.min.css\" rel=\"stylesheet\"/>',fn({theme:\"luna\"}));\n    });\n});\n"
  },
  {
    "path": "test/buttons.js",
    "content": "var assert = require('assert');\nvar pug = require('pug');\nvar fs = require('fs');\nvar path = require('path');\n\n// Write fixture data\nvar mixins = [\"btn-primary\",\"btn-info\",\"btn-warning\",\"btn-danger\",\"btn-success\",\"btn-lg-primary\",\"btn-lg-info\",\"btn-lg-warning\",\"btn-lg-danger\",\"btn-lg-success\" ];\nmixins.forEach(function(m) {\n    var fileTemplate = `include ../../../components/buttons\n+${m}(name)`;\n    var fileName = `${m}.pug`;\n    fs.writeFileSync(path.join(__dirname,\"fixtures/buttons\",fileName),fileTemplate);\n});\n\n\n\nvar testData = [\n    {\n        suite: 'btn-primary mixin',\n        spec: 'should render a primary button',\n        fixture: 'btn-primary.pug',\n        locals: { name: \"Primary Button\" },\n        actual: '<button class=\"btn btn-primary\" type=\"button\">Primary Button</button>'\n    },\n    {\n        suite: 'btn-info mixin',\n        spec: 'should render a info button',\n        fixture: 'btn-info.pug',\n        locals: { name: \"Info Button\" },\n        actual: '<button class=\"btn btn-info\" type=\"button\">Info Button</button>'\n    },\n    {\n        suite: 'btn-warning mixin',\n        spec: 'should render a warning button',\n        fixture: 'btn-warning.pug',\n        locals: { name: \"Warning Button\" },\n        actual: '<button class=\"btn btn-warning\" type=\"button\">Warning Button</button>'\n    },\n    {\n        suite: 'btn-danger mixin',\n        spec: 'should render a danger button',\n        fixture: 'btn-danger.pug',\n        locals: { name: \"Danger Button\" },\n        actual: '<button class=\"btn btn-danger\" type=\"button\">Danger Button</button>'\n    },\n    {\n        suite: 'btn-success mixin',\n        spec: 'should render a success button',\n        fixture: 'btn-success.pug',\n        locals: { name: \"Success Button\" },\n        actual: '<button class=\"btn btn-success\" type=\"button\">Success Button</button>'\n    },\n    {\n        suite: 'btn-lg-primary mixin',\n        spec: 'should render a large primary button',\n        fixture: 'btn-lg-primary.pug',\n        locals: { name: \"Large Primary Button\" },\n        actual: '<button class=\"btn btn-primary btn-lg\" type=\"button\">Large Primary Button</button>'\n    },\n    {\n        suite: 'btn-lg-info mixin',\n        spec: 'should render a large info button',\n        fixture: 'btn-lg-info.pug',\n        locals: { name: \"Large Info Button\" },\n        actual: '<button class=\"btn btn-info btn-lg\" type=\"button\">Large Info Button</button>'\n    },\n    {\n        suite: 'btn-lg-warning mixin',\n        spec: 'should render a large warning button',\n        fixture: 'btn-lg-warning.pug',\n        locals: { name: \"Large Warning Button\" },\n        actual: '<button class=\"btn btn-warning btn-lg\" type=\"button\">Large Warning Button</button>'\n    },\n    {\n        suite: 'btn-lg-danger mixin',\n        spec: 'should render a large danger button',\n        fixture: 'btn-lg-danger.pug',\n        locals: { name: \"Large Danger Button\" },\n        actual: '<button class=\"btn btn-danger btn-lg\" type=\"button\">Large Danger Button</button>'\n    },\n    {\n        suite: 'btn-lg-success mixin',\n        spec: 'should render a large success button',\n        fixture: 'btn-lg-success.pug',\n        locals: { name: \"Large Success Button\" },\n        actual: '<button class=\"btn btn-success btn-lg\" type=\"button\">Large Success Button</button>'\n    },\n];\n\ntestData.forEach(function(item) {\n    describe(item.suite,function() {\n        it(item.spec,function() {\n            var fn = pug.compileFile(path.join(__dirname,\"fixtures/buttons\", item.fixture));\n            assert.equal(item.actual,fn(item.locals));\n        });\n    });\n});\n"
  },
  {
    "path": "test/carousel.js",
    "content": "var pug = require(\"pug\");\nvar assert = require(\"assert\");\nvar path = require(\"path\");\n\ndescribe(\"Carousel\", function() {\n\n});\n"
  },
  {
    "path": "test/dropdowns.js",
    "content": "var assert = require(\"assert\");\nvar pug = require(\"pug\");\nvar fs = require(\"fs\");\nvar path = require(\"path\");\n\ndescribe(\"Dropdowns\", function(){\n    it(\"should generate a dropdown\", function(){\n        // var fn = pug.compileFile(path.join(__dirname, \"fixtures/dropdowns\",\"dropdown.pug\"));\n        assert.equal(true,true);\n    });\n});\n"
  },
  {
    "path": "test/fixtures/accordion/accordion-item-primary.pug",
    "content": "include ../../../components/accordion\n+accordion-item-primary(title,parent,expanded)"
  },
  {
    "path": "test/fixtures/accordion/accordion.pug",
    "content": "include ../../../components/accordion\n+accordion(id)\n    +accordion-item(type,title,parent,expanded)"
  },
  {
    "path": "test/fixtures/alerts/alert-danger.pug",
    "content": "include ../../../components/alerts\n+alert-danger(message)"
  },
  {
    "path": "test/fixtures/alerts/alert-i-danger.pug",
    "content": "include ../../../components/alerts\n+alert-i-danger(message)"
  },
  {
    "path": "test/fixtures/alerts/alert-i-info.pug",
    "content": "include ../../../components/alerts\n+alert-i-info(message)"
  },
  {
    "path": "test/fixtures/alerts/alert-i-success.pug",
    "content": "include ../../../components/alerts\n+alert-i-success(message)"
  },
  {
    "path": "test/fixtures/alerts/alert-i-warning.pug",
    "content": "include ../../../components/alerts\n+alert-i-warning(message)"
  },
  {
    "path": "test/fixtures/alerts/alert-i.pug",
    "content": "include ../../../components/alerts\n+alert-i(type,message,icon)"
  },
  {
    "path": "test/fixtures/alerts/alert-info.pug",
    "content": "include ../../../components/alerts\n+alert-info(message)"
  },
  {
    "path": "test/fixtures/alerts/alert-ix-danger.pug",
    "content": "include ../../../components/alerts\n+alert-ix-danger(message,icon)"
  },
  {
    "path": "test/fixtures/alerts/alert-ix-info.pug",
    "content": "include ../../../components/alerts\n+alert-ix-info(message,icon)"
  },
  {
    "path": "test/fixtures/alerts/alert-ix-success.pug",
    "content": "include ../../../components/alerts\n+alert-ix-success(message,icon)"
  },
  {
    "path": "test/fixtures/alerts/alert-ix-warning.pug",
    "content": "include ../../../components/alerts\n+alert-ix-warning(message,icon)"
  },
  {
    "path": "test/fixtures/alerts/alert-primary.pug",
    "content": "include ../../../components/alerts\n+alert-primary(message)"
  },
  {
    "path": "test/fixtures/alerts/alert-success.pug",
    "content": "include ../../../components/alerts\n+alert-success(message)"
  },
  {
    "path": "test/fixtures/alerts/alert-warning.pug",
    "content": "include ../../../components/alerts\n+alert-warning(message)"
  },
  {
    "path": "test/fixtures/alerts/alert-x-danger.pug",
    "content": "include ../../../components/alerts\n+alert-x-danger(message)"
  },
  {
    "path": "test/fixtures/alerts/alert-x-info.pug",
    "content": "include ../../../components/alerts\n+alert-x-info(message)"
  },
  {
    "path": "test/fixtures/alerts/alert-x-success.pug",
    "content": "include ../../../components/alerts\n+alert-x-success(message)"
  },
  {
    "path": "test/fixtures/alerts/alert-x-warning.pug",
    "content": "include ../../../components/alerts\n+alert-x-warning(message)"
  },
  {
    "path": "test/fixtures/alerts/alert-x.pug",
    "content": "include ../../../components/alerts\n+alert-x(type,message)"
  },
  {
    "path": "test/fixtures/alerts/alert.pug",
    "content": "include ../../../components/alerts\n+alert(type,message)"
  },
  {
    "path": "test/fixtures/bootswatch.pug",
    "content": "include ../../components/bootswatch\n+bootswatch(theme)\n"
  },
  {
    "path": "test/fixtures/buttons/btn-danger.pug",
    "content": "include ../../../components/buttons\n+btn-danger(name)"
  },
  {
    "path": "test/fixtures/buttons/btn-info.pug",
    "content": "include ../../../components/buttons\n+btn-info(name)"
  },
  {
    "path": "test/fixtures/buttons/btn-lg-danger.pug",
    "content": "include ../../../components/buttons\n+btn-lg-danger(name)"
  },
  {
    "path": "test/fixtures/buttons/btn-lg-info.pug",
    "content": "include ../../../components/buttons\n+btn-lg-info(name)"
  },
  {
    "path": "test/fixtures/buttons/btn-lg-primary.pug",
    "content": "include ../../../components/buttons\n+btn-lg-primary(name)"
  },
  {
    "path": "test/fixtures/buttons/btn-lg-success.pug",
    "content": "include ../../../components/buttons\n+btn-lg-success(name)"
  },
  {
    "path": "test/fixtures/buttons/btn-lg-warning.pug",
    "content": "include ../../../components/buttons\n+btn-lg-warning(name)"
  },
  {
    "path": "test/fixtures/buttons/btn-primary.pug",
    "content": "include ../../../components/buttons\n+btn-primary(name)"
  },
  {
    "path": "test/fixtures/buttons/btn-success.pug",
    "content": "include ../../../components/buttons\n+btn-success(name)"
  },
  {
    "path": "test/fixtures/buttons/btn-warning.pug",
    "content": "include ../../../components/buttons\n+btn-warning(name)"
  },
  {
    "path": "test/fixtures/forms/badge.pug",
    "content": "include ../../../components/forms\n+badge(\"Badge\")\n"
  },
  {
    "path": "test/fixtures/forms/checkbox-inline.pug",
    "content": "include ../../../components/forms\n+checkbox-inline(\"Checkbox\",\"txtCheckbox\",\"txtCheckbox\")\n"
  },
  {
    "path": "test/fixtures/forms/checkbox.pug",
    "content": "include ../../../components/forms\n+checkbox(\"Checkbox\",\"txtCheckbox\",\"txtCheckbox\")\n"
  },
  {
    "path": "test/fixtures/forms/icon-btn.pug",
    "content": "include ../../../components/forms\n+icon-btn(\"search\")\n"
  },
  {
    "path": "test/fixtures/forms/input-group.pug",
    "content": "include ../../../components/forms\n+input-group(\"Prepend\",\"Append\")\n    input(type=\"text\")\n"
  },
  {
    "path": "test/fixtures/forms/input-simple.pug",
    "content": "include ../../../components/forms\n+input-simple(\"text\",\"txtInput\",\"Placeholder\",\"txtInput\")\n"
  },
  {
    "path": "test/fixtures/forms/input.pug",
    "content": "include ../../../components/forms\n+input(\"text\",\"txtInput\",\"Placeholder\",\"Label\",\"txtInput\")\n"
  },
  {
    "path": "test/fixtures/forms/radio-inline.pug",
    "content": "include ../../../components/forms\n+radio-inline(\"Radio\",\"txtRadio\",\"txtRadio\")\n"
  },
  {
    "path": "test/fixtures/forms/radio.pug",
    "content": "include ../../../components/forms\n+radio(\"Radio\",\"txtRadio\",\"txtRadio\")\n"
  },
  {
    "path": "test/fixtures/forms/submit.pug",
    "content": "include ../../../components/forms\n+submit(\"Submit\",\"btnSubmit\",\"btnSubmit\")\n"
  },
  {
    "path": "test/fixtures/icons/icon-danger.pug",
    "content": "include ../../../components/icons\n+icon-danger(name)\n"
  },
  {
    "path": "test/fixtures/icons/icon-info.pug",
    "content": "include ../../../components/icons\n+icon-info(name)\n"
  },
  {
    "path": "test/fixtures/icons/icon-primary.pug",
    "content": "include ../../../components/icons\n+icon-primary(name)\n"
  },
  {
    "path": "test/fixtures/icons/icon-success.pug",
    "content": "include ../../../components/icons\n+icon-success(name)\n"
  },
  {
    "path": "test/fixtures/icons/icon-warning.pug",
    "content": "include ../../../components/icons\n+icon-warning(name)\n"
  },
  {
    "path": "test/fixtures/icons/icon.pug",
    "content": "include ../../../components/icons\n+icon(name)\n"
  },
  {
    "path": "test/fixtures/images/img-circle.pug",
    "content": "include ../../../components/images\n+img-circle(_src,_alt)\n"
  },
  {
    "path": "test/fixtures/images/img-responsive-center.pug",
    "content": "include ../../../components/images\n+img-responsive-center(_src,_alt)\n"
  },
  {
    "path": "test/fixtures/images/img-responsive.pug",
    "content": "include ../../../components/images\n+img-responsive(_src,_alt)\n"
  },
  {
    "path": "test/fixtures/images/img-rounded.pug",
    "content": "include ../../../components/images\n+img-rounded(_src,_alt)\n"
  },
  {
    "path": "test/fixtures/images/img-thumbnail.pug",
    "content": "include ../../../components/images\n+img-thumbnail(_src,_alt)\n"
  },
  {
    "path": "test/fixtures/labels/label-danger.pug",
    "content": "include ../../../components/labels\n+label-danger(text)\n"
  },
  {
    "path": "test/fixtures/labels/label-default.pug",
    "content": "include ../../../components/labels\n+label-default(text)\n"
  },
  {
    "path": "test/fixtures/labels/label-info.pug",
    "content": "include ../../../components/labels\n+label-info(text)\n"
  },
  {
    "path": "test/fixtures/labels/label-primary.pug",
    "content": "include ../../../components/labels\n+label-primary(text)\n"
  },
  {
    "path": "test/fixtures/labels/label-success.pug",
    "content": "include ../../../components/labels\n+label-success(text)\n"
  },
  {
    "path": "test/fixtures/labels/label-warning.pug",
    "content": "include ../../../components/labels\n+label-warning(text)\n"
  },
  {
    "path": "test/fixtures/labels/label.pug",
    "content": "include ../../../components/labels\n+label(type,text)\n"
  },
  {
    "path": "test/fixtures/panels/default-panel.pug",
    "content": "include ../../../components/panels\n+panel-default(\"Default Panel\")\n  | Default Panel\n"
  },
  {
    "path": "test/fixtures/panels/simple-panel.pug",
    "content": "include ../../../components/panels\n+panel(\"default\")\n  | Simple panel\n"
  },
  {
    "path": "test/fixtures/progress-bar/progress-bar-danger.pug",
    "content": "include ../../../components/progress-bars\n+progress-bar-danger(value)\n"
  },
  {
    "path": "test/fixtures/progress-bar/progress-bar-info.pug",
    "content": "include ../../../components/progress-bars\n+progress-bar-info(value)\n"
  },
  {
    "path": "test/fixtures/progress-bar/progress-bar-primary.pug",
    "content": "include ../../../components/progress-bars\n+progress-bar-primary(value)\n"
  },
  {
    "path": "test/fixtures/progress-bar/progress-bar-success.pug",
    "content": "include ../../../components/progress-bars\n+progress-bar-success(value)\n"
  },
  {
    "path": "test/fixtures/progress-bar/progress-bar-warning.pug",
    "content": "include ../../../components/progress-bars\n+progress-bar-warning(value)\n"
  },
  {
    "path": "test/fixtures/progress-bar/progress-bar.pug",
    "content": "include ../../../components/progress-bars\n+progress-bar(value,type)\n"
  },
  {
    "path": "test/fixtures/toggles/danger-toggle.pug",
    "content": "include ../../../components/toggle\n+toggle('danger','Danger Toggle')\n"
  },
  {
    "path": "test/fixtures/toggles/default-toggle.pug",
    "content": "include ../../../components/toggle\n+toggle('default','Default Toggle')\n"
  },
  {
    "path": "test/fixtures/toggles/info-toggle.pug",
    "content": "include ../../../components/toggle\n+toggle('info','Info Toggle')\n"
  },
  {
    "path": "test/fixtures/toggles/primary-toggle.pug",
    "content": "include ../../../components/toggle\n+toggle('primary','Primary Toggle')\n"
  },
  {
    "path": "test/fixtures/toggles/success-toggle.pug",
    "content": "include ../../../components/toggle\n+toggle('success','Success Toggle')\n"
  },
  {
    "path": "test/fixtures/toggles/warning-toggle.pug",
    "content": "include ../../../components/toggle\n+toggle('warning','Warning Toggle')\n"
  },
  {
    "path": "test/fixtures/tooltips/bottom-tooltip.pug",
    "content": "include ../../../components/tooltips\n+tooltip(\"Bottom tooltip\", \"Tooltip on the bottom\", \"bottom\")\n"
  },
  {
    "path": "test/fixtures/tooltips/left-tooltip.pug",
    "content": "include ../../../components/tooltips\n+tooltip(\"Left tooltip\", \"Tooltip on the left\", \"left\")\n"
  },
  {
    "path": "test/fixtures/tooltips/right-tooltip.pug",
    "content": "include ../../../components/tooltips\n+tooltip(\"Right tooltip\", \"Tooltip on the right\", \"right\")\n"
  },
  {
    "path": "test/fixtures/tooltips/top-tooltip.pug",
    "content": "include ../../../components/tooltips\n+tooltip(\"Top tooltip\", \"Tooltip on the top\", \"top\")\n"
  },
  {
    "path": "test/forms.js",
    "content": "var pug = require(\"pug\");\nvar assert = require(\"assert\");\nvar path = require(\"path\");\n\ndescribe(\"Forms\", function() {\n    it(\"should generate input control\", function() {\n        var fn = pug.compileFile(path.join(__dirname, \"fixtures/forms\",\"input.pug\"));\n        assert.equal('<div class=\"form-group\"><label for=\"txtInput\">Label</label><input class=\"form-control\" type=\"text\" id=\"txtInput\" placeholder=\"Placeholder\" name=\"txtInput\"/></div>',fn({ type:\"text\",id: \"txtInput\",placeholder:\"Placeholder\",label:\"Label\",name:\"txtInput\"}));\n    });\n\n    it(\"should generate simple input control\", function() {\n        var fn = pug.compileFile(path.join(__dirname, \"fixtures/forms\",\"input-simple.pug\"));\n        assert.equal('<input class=\"form-control\" type=\"text\" id=\"txtInput\" placeholder=\"Placeholder\" name=\"txtInput\"/>',fn({type: \"text\", id: \"txtInput\",placeholder:\"Placeholder\", name: \"txtInput\"}));\n    });\n\n    it(\"should generate a checkbox\",function() {\n        var fn = pug.compileFile(path.join(__dirname, \"fixtures/forms\", \"checkbox.pug\"));\n\n        assert.equal('<div class=\"checkbox\"><label><input type=\"checkbox\" name=\"txtCheckbox\" id=\"txtCheckbox\"/>Checkbox</label></div>',fn({text: \"Checkbox\", name: \"txtCheckbox\",id: \"txtCheckbox\"}));\n    });\n\n    it(\"should generate a checkbox inline style\",function() {\n        var fn = pug.compileFile(path.join(__dirname, \"fixtures/forms\", \"checkbox-inline.pug\"));\n        assert.equal('<div class=\"checkbox-inline\"><input type=\"checkbox\" name=\"txtCheckbox\" id=\"txtCheckbox\"/>Checkbox</div>',fn({text: \"Checkbox\", name: \"txtCheckbox\", id:\"txtCheckbox\"}));\n    });\n\n    it(\"should generate a radio button\", function() {\n        var fn = pug.compileFile(path.join(__dirname, \"fixtures/forms\", \"radio.pug\"));\n        assert.equal('<div class=\"radio\"><label><input type=\"radio\" name=\"txtRadio\" id=\"txtRadio\"/>Radio</label></div>',fn({ text: \"Radio\", name: \"txtRadio\", id:\"txtRadio\"}));\n    });\n\n    it(\"should generate a radio button inline style\", function() {\n        var fn = pug.compileFile(path.join(__dirname, \"fixtures/forms\", \"radio-inline.pug\"));\n        assert.equal('<div class=\"radio-inline\"><input type=\"radio\" name=\"txtRadio\" id=\"txtRadio\"/>Radio</div>',fn({ text:\"Radio\", name: \"txtRadio\", id: \"txtRadio\"}));\n    });\n\n    it(\"should generate a submit button\",function() {\n        var fn = pug.compileFile(path.join(__dirname, \"fixtures/forms\", \"submit.pug\"));\n        assert.equal('<div class=\"form-group\"><button class=\"btn btn-default\" type=\"submit\" name=\"btnSubmit\" id=\"btnSubmit\">Submit</button></div>',fn({ text: \"Submit\", name:\"btnSubmit\", id:\"btnSubmit\"}));\n    });\n\n    it(\"should generate a input group\", function() {\n        var fn = pug.compileFile(path.join(__dirname, \"fixtures/forms\", \"input-group.pug\"));\n        assert.equal('<div class=\"form-group\"><div class=\"input-group\"><div class=\"input-group-addon\">Prepend</div><input type=\"text\"/><div class=\"input-group-addon\">Append</div></div></div>',fn({prepend: \"Prepend\", append: \"Append\"}));\n    });\n\n    it(\"should generate a icon button\", function() {\n        var fn = pug.compileFile(path.join(__dirname, \"fixtures/forms\", \"icon-btn.pug\"));\n        assert.equal('<button class=\"btn btn-default\" type=\"button\" aria-label=\"search\"><span class=\"glyphicon glyphicon-search\" aria-hidden=\"true\"></span></button>',fn({ icon: \"search\"}));\n    });\n\n    it(\"should generate a badge\", function() {\n        var fn = pug.compileFile(path.join(__dirname, \"fixtures/forms\", \"badge.pug\"));\n        assert.equal('<span class=\"badge\">Badge</span>',fn({ text: \"Badge\"}));\n    });\n});\n"
  },
  {
    "path": "test/icons.js",
    "content": "var pug = require(\"pug\");\nvar assert = require(\"assert\");\nvar path = require(\"path\");\n\ndescribe(\"Icons\",function() {\n    it(\"should render a plain icon\",function() {\n        var fn = pug.compileFile(path.join(__dirname, \"fixtures/icons\",\"icon.pug\"));\n        assert.equal('<span class=\"glyphicon glyphicon-search\" aria-hidden=\"true\"></span>',fn({name:\"search\"}));\n    });\n\n    it(\"should render a primary icon\",function() {\n        var fn = pug.compileFile(path.join(__dirname, \"fixtures/icons\",\"icon-primary.pug\"));\n        assert.equal('<span class=\"glyphicon text-primary glyphicon-search\" aria-hidden=\"true\"></span>',fn({name:\"search\"}));\n    });\n\n    it(\"should render a info icon\",function() {\n        var fn = pug.compileFile(path.join(__dirname, \"fixtures/icons\",\"icon-info.pug\"));\n        assert.equal('<span class=\"glyphicon text-info glyphicon-search\" aria-hidden=\"true\"></span>',fn({name:\"search\"}));\n    });\n    it(\"should render a warning icon\",function() {\n        var fn = pug.compileFile(path.join(__dirname, \"fixtures/icons\",\"icon-warning.pug\"));\n        assert.equal('<span class=\"glyphicon text-warning glyphicon-search\" aria-hidden=\"true\"></span>',fn({name:\"search\"}));\n    });\n    it(\"should render a danger icon\",function() {\n        var fn = pug.compileFile(path.join(__dirname, \"fixtures/icons\",\"icon-danger.pug\"));\n        assert.equal('<span class=\"glyphicon text-danger glyphicon-search\" aria-hidden=\"true\"></span>',fn({name:\"search\"}));\n    });\n    it(\"should render a success icon\",function() {\n        var fn = pug.compileFile(path.join(__dirname, \"fixtures/icons\",\"icon-success.pug\"));\n        assert.equal('<span class=\"glyphicon text-success glyphicon-search\" aria-hidden=\"true\"></span>',fn({name:\"search\"}));\n    });\n});\n"
  },
  {
    "path": "test/images.js",
    "content": "var pug = require(\"pug\");\nvar assert = require(\"assert\");\nvar path = require(\"path\");\n\ndescribe(\"Images\", function() {\n    var locals = { _src: \"a.jpg\", _alt: \"My Image\" };\n    it(\"should generate a responsive image\",function() {\n        var fn = pug.compileFile(path.join(__dirname, \"fixtures/images\",\"img-responsive.pug\"));\n        assert.equal('<img class=\"img-responsive\" src=\"a.jpg\" alt=\"My Image\"/>',fn(locals));\n    });\n\n    it(\"should generate a responsive center image\",function() {\n        var fn = pug.compileFile(path.join(__dirname, \"fixtures/images\",\"img-responsive-center.pug\"));\n        assert.equal('<img class=\"img-responsive center-block\" src=\"a.jpg\" alt=\"My Image\"/>',fn(locals));\n    });\n    it(\"should generate a circle image\",function() {\n        var fn = pug.compileFile(path.join(__dirname, \"fixtures/images\",\"img-circle.pug\"));\n        assert.equal('<img class=\"img-circle\" src=\"a.jpg\" alt=\"My Image\"/>',fn(locals));\n    });\n    it(\"should generate a rounded image\",function() {\n        var fn = pug.compileFile(path.join(__dirname, \"fixtures/images\",\"img-rounded.pug\"));\n        assert.equal('<img class=\"img-rounded\" src=\"a.jpg\" alt=\"My Image\"/>',fn(locals));\n    });\n    it(\"should generate a thumbnail image\",function() {\n        var fn = pug.compileFile(path.join(__dirname, \"fixtures/images\",\"img-thumbnail.pug\"));\n        assert.equal('<img class=\"img-thumbnail\" src=\"a.jpg\" alt=\"My Image\"/>',fn(locals));\n    });\n});\n"
  },
  {
    "path": "test/labels.js",
    "content": "var pug = require(\"pug\");\nvar assert = require(\"assert\");\nvar path = require(\"path\");\n\ndescribe(\"Labels\", function() {\n    it(\"should generate a generic label\", function() {\n        var fn = pug.compileFile(path.join(__dirname, \"fixtures/labels\",\"label.pug\"));\n        assert.equal('<span class=\"label label-primary\">My Label</span>',fn({type: \"primary\", text:\"My Label\"}));\n    });\n    it(\"should generate a default label\", function() {\n        var fn = pug.compileFile(path.join(__dirname, \"fixtures/labels\",\"label-default.pug\"));\n        assert.equal('<span class=\"label label-default\">My Label</span>',fn({ text:\"My Label\"}));\n    });\n    it(\"should generate a primary label\", function() {\n        var fn = pug.compileFile(path.join(__dirname, \"fixtures/labels\",\"label-primary.pug\"));\n        assert.equal('<span class=\"label label-primary\">My Label</span>',fn({text:\"My Label\"}));\n    });\n    it(\"should generate a info label\", function() {\n        var fn = pug.compileFile(path.join(__dirname, \"fixtures/labels\",\"label-info.pug\"));\n        assert.equal('<span class=\"label label-info\">My Label</span>',fn({text:\"My Label\"}));\n    });\n    it(\"should generate a warning label\", function() {\n        var fn = pug.compileFile(path.join(__dirname, \"fixtures/labels\",\"label-warning.pug\"));\n        assert.equal('<span class=\"label label-warning\">My Label</span>',fn({text:\"My Label\"}));\n    });\n    it(\"should generate a danger label\", function() {\n        var fn = pug.compileFile(path.join(__dirname, \"fixtures/labels\",\"label-danger.pug\"));\n        assert.equal('<span class=\"label label-danger\">My Label</span>',fn({text:\"My Label\"}));\n    });\n    it(\"should generate a success label\", function() {\n        var fn = pug.compileFile(path.join(__dirname, \"fixtures/labels\",\"label-success.pug\"));\n        assert.equal('<span class=\"label label-success\">My Label</span>',fn({text:\"My Label\"}));\n    });\n});\n"
  },
  {
    "path": "test/list-groups.js",
    "content": "var assert = require(\"assert\");\nvar pug = require(\"pug\");\nvar fs = require(\"fs\");\nvar path = require(\"path\");\n\ndescribe(\"List groups\",function() {\n\n    it(\"should generate a list group\", function(){\n        // var fn = pug.compileFile(path.join(__dirname, \"fixtures/list-groups\",\"list-group.pug\"));\n        assert.equal(1,1);\n    });\n\n});\n"
  },
  {
    "path": "test/modal.js",
    "content": "var assert = require(\"assert\");\nvar pug = require(\"pug\");\nvar fs = require(\"fs\");\nvar path = require(\"path\");\n\ndescribe(\"Modal\",function() {\n\n    it(\"should generate a modal\", function(){\n        // var fn = pug.compileFile(path.join(__dirname, \"fixtures/modal\",\"modal.pug\"));\n        assert.equal(1,1);\n    });\n\n});\n"
  },
  {
    "path": "test/navbar.js",
    "content": "var assert = require(\"assert\");\nvar pug = require(\"pug\");\nvar fs = require(\"fs\");\nvar path = require(\"path\");\n\ndescribe(\"Navbar\",function() {\n\n    it(\"should generate a navbar\", function(){\n        // var fn = pug.compileFile(path.join(__dirname, \"fixtures/navbar\",\"navbar.pug\"));\n        assert.equal(1,1);\n    });\n\n});\n"
  },
  {
    "path": "test/navs.js",
    "content": "var assert = require(\"assert\");\nvar pug = require(\"pug\");\nvar fs = require(\"fs\");\nvar path = require(\"path\");\n\ndescribe(\"Navs\",function() {\n\n    it(\"should generate a nav\", function(){\n        // var fn = pug.compileFile(path.join(__dirname, \"fixtures/navs\",\"navs.pug\"));\n        assert.equal(1,1);\n    });\n\n});\n"
  },
  {
    "path": "test/panels.js",
    "content": "const assert = require(\"assert\");\nconst pug = require(\"pug\");\nconst fs = require(\"fs\");\nconst path = require(\"path\");\n\ndescribe(\"Panels\",function() {\n\n    it(\"should generate a simple panel without title\", function(){\n        const fn = pug.compileFile(path.join(__dirname, \"fixtures/panels\",\"simple-panel.pug\"));\n        let locals = {\n            type: \"default\"\n        };\n\n        let markup = `<div class=\"panel panel-${locals.type}\"><div class=\"panel-body\">Simple panel</div></div>`;\n        assert.equal(markup,fn(locals));\n    });\n\n    it(\"should generate a default panel\", function() {\n        const fn = pug.compileFile(path.join(__dirname, \"fixtures/panels\", \"default-panel.pug\"));\n        let locals = {\n            title: \"Default Panel\"\n        };\n        let markup = `<div class=\"panel panel-default\"><div `\n    });\n\n});\n"
  },
  {
    "path": "test/progress-bar.js",
    "content": "var pug = require(\"pug\");\nvar assert = require(\"assert\");\nvar path = require(\"path\");\n\ndescribe(\"Progress bars\", function() {\n    it(\"should generate a generic progress bar\",function() {\n        var fn = pug.compileFile(path.join(__dirname,\"fixtures/progress-bar\",\"progress-bar.pug\"));\n        assert.equal('<div class=\"progress\"><div class=\"progress-bar progress-bar-primary\" role=\"progressbar\" aria-valuenow=\"60\" aria-valuemin=\"0\" aria-valuemax=\"100\" style=\"width: 60%;\"><span class=\"sr-only\">60% Complete</span></div></div>',fn({value: 60,type: \"primary\" }));\n    });\n    it(\"should generate a primary progress bar\",function() {\n        var fn = pug.compileFile(path.join(__dirname,\"fixtures/progress-bar\",\"progress-bar-primary.pug\"));\n        assert.equal('<div class=\"progress\"><div class=\"progress-bar progress-bar-primary\" role=\"progressbar\" aria-valuenow=\"60\" aria-valuemin=\"0\" aria-valuemax=\"100\" style=\"width: 60%;\"><span class=\"sr-only\">60% Complete</span></div></div>',fn({value: 60 }));\n    });\n    it(\"should generate a info progress bar\",function() {\n        var fn = pug.compileFile(path.join(__dirname,\"fixtures/progress-bar\",\"progress-bar-info.pug\"));\n        assert.equal('<div class=\"progress\"><div class=\"progress-bar progress-bar-info\" role=\"progressbar\" aria-valuenow=\"60\" aria-valuemin=\"0\" aria-valuemax=\"100\" style=\"width: 60%;\"><span class=\"sr-only\">60% Complete</span></div></div>',fn({value: 60 }));\n    });\n    it(\"should generate a warning progress bar\",function() {\n        var fn = pug.compileFile(path.join(__dirname,\"fixtures/progress-bar\",\"progress-bar-warning.pug\"));\n        assert.equal('<div class=\"progress\"><div class=\"progress-bar progress-bar-warning\" role=\"progressbar\" aria-valuenow=\"60\" aria-valuemin=\"0\" aria-valuemax=\"100\" style=\"width: 60%;\"><span class=\"sr-only\">60% Complete</span></div></div>',fn({value: 60 }));\n    });\n    it(\"should generate a danger progress bar\",function() {\n        var fn = pug.compileFile(path.join(__dirname,\"fixtures/progress-bar\",\"progress-bar-danger.pug\"));\n        assert.equal('<div class=\"progress\"><div class=\"progress-bar progress-bar-danger\" role=\"progressbar\" aria-valuenow=\"60\" aria-valuemin=\"0\" aria-valuemax=\"100\" style=\"width: 60%;\"><span class=\"sr-only\">60% Complete</span></div></div>',fn({value: 60 }));\n    });\n    it(\"should generate a success progress bar\",function() {\n        var fn = pug.compileFile(path.join(__dirname,\"fixtures/progress-bar\",\"progress-bar-success.pug\"));\n        assert.equal('<div class=\"progress\"><div class=\"progress-bar progress-bar-success\" role=\"progressbar\" aria-valuenow=\"60\" aria-valuemin=\"0\" aria-valuemax=\"100\" style=\"width: 60%;\"><span class=\"sr-only\">60% Complete</span></div></div>',fn({value: 60}));\n    });\n});\n\n"
  },
  {
    "path": "test/tables.js",
    "content": "var assert = require(\"assert\");\nvar pug = require(\"pug\");\nvar fs = require(\"fs\");\nvar path = require(\"path\");\n\ndescribe(\"Tables\",function() {\n\n    it(\"should generate a table\", function(){\n        // var fn = pug.compileFile(path.join(__dirname, \"fixtures/tables\",\"table.pug\"));\n        assert.equal(1,1);\n    });\n\n});\n"
  },
  {
    "path": "test/tabs.js",
    "content": "var assert = require(\"assert\");\nvar pug = require(\"pug\");\nvar fs = require(\"fs\");\nvar path = require(\"path\");\n\ndescribe(\"Tabs\",function() {\n\n    it(\"should generate a tab\", function(){\n        // var fn = pug.compileFile(path.join(__dirname, \"fixtures/tabs\",\"tab.pug\"));\n        assert.equal(1,1);\n    });\n\n});\n"
  },
  {
    "path": "test/toggle.js",
    "content": "const assert = require(\"assert\");\nconst pug = require(\"pug\");\nconst fs = require(\"fs\");\nconst path = require(\"path\");\n\ndescribe(\"Toggles\",function() {\n\n    it(\"should generate a primary toggle\", function(){\n        let fn = pug.compileFile(path.join(__dirname, \"fixtures/toggles\",\"primary-toggle.pug\"));\n        let locals = {\n            type: 'primary',\n            text: 'Primary Toggle'\n        };\n\n        let markup = `<button class=\"btn btn-${locals.type}\" type=\"button\" data-toggle=\"button\" aria-pressed=\"false\" autocomplete=\"off\">${locals.text}</button>`;\n        assert.equal(markup,fn(locals));\n    });\n\n    it(\"should generate a default toggle\", function(){\n        let fn = pug.compileFile(path.join(__dirname, \"fixtures/toggles\",\"default-toggle.pug\"));\n        let locals = {\n            type: 'default',\n            text: 'Default Toggle'\n        };\n\n        let markup = `<button class=\"btn btn-${locals.type}\" type=\"button\" data-toggle=\"button\" aria-pressed=\"false\" autocomplete=\"off\">${locals.text}</button>`;\n        assert.equal(markup,fn(locals));\n    });\n\n    it(\"should generate a info toggle\", function(){\n        let fn = pug.compileFile(path.join(__dirname, \"fixtures/toggles\",\"info-toggle.pug\"));\n        let locals = {\n            type: 'info',\n            text: 'Info Toggle'\n        };\n\n        let markup = `<button class=\"btn btn-${locals.type}\" type=\"button\" data-toggle=\"button\" aria-pressed=\"false\" autocomplete=\"off\">${locals.text}</button>`;\n        assert.equal(markup,fn(locals));\n    });\n\n    it(\"should generate a warning toggle\", function(){\n        let fn = pug.compileFile(path.join(__dirname, \"fixtures/toggles\",\"warning-toggle.pug\"));\n        let locals = {\n            type: 'warning',\n            text: 'Warning Toggle'\n        };\n\n        let markup = `<button class=\"btn btn-${locals.type}\" type=\"button\" data-toggle=\"button\" aria-pressed=\"false\" autocomplete=\"off\">${locals.text}</button>`;\n        assert.equal(markup,fn(locals));\n    });\n\n    it(\"should generate a success toggle\", function(){\n        let fn = pug.compileFile(path.join(__dirname, \"fixtures/toggles\",\"success-toggle.pug\"));\n        let locals = {\n            type: 'success',\n            text: 'Success Toggle'\n        };\n\n        let markup = `<button class=\"btn btn-${locals.type}\" type=\"button\" data-toggle=\"button\" aria-pressed=\"false\" autocomplete=\"off\">${locals.text}</button>`;\n        assert.equal(markup,fn(locals));\n    });\n\n    it(\"should generate a danger toggle\", function(){\n        let fn = pug.compileFile(path.join(__dirname, \"fixtures/toggles\",\"danger-toggle.pug\"));\n        let locals = {\n            type: 'danger',\n            text: 'Danger Toggle'\n        };\n\n        let markup = `<button class=\"btn btn-${locals.type}\" type=\"button\" data-toggle=\"button\" aria-pressed=\"false\" autocomplete=\"off\">${locals.text}</button>`;\n        assert.equal(markup,fn(locals));\n    });\n});\n"
  },
  {
    "path": "test/tooltips.js",
    "content": "const assert = require(\"assert\");\nconst pug = require(\"pug\");\nconst fs = require(\"fs\");\nconst path = require(\"path\");\n\ndescribe(\"Tooltips\",function() {\n\n    it(\"should generate a top tooltip\", function(){\n        let fn = pug.compileFile(path.join(__dirname, \"fixtures/tooltips\",\"top-tooltip.pug\"));\n        let locals = {\n            text: \"Top tooltip\",\n            tooltip: \"Tooltip on the top\",\n            placement: \"top\"\n        };\n\n        let markup = `<a href=\"#\" data-toggle=\"tooltip\" data-placement=\"${locals.placement}\" title=\"${locals.tooltip}\">${locals.text}</a>`;\n        assert.equal(markup,fn(locals));\n    });\n\n\n    it(\"should generate a bottom tooltip\", function(){\n        let fn = pug.compileFile(path.join(__dirname, \"fixtures/tooltips\",\"bottom-tooltip.pug\"));\n        let locals = {\n            text: \"Bottom tooltip\",\n            tooltip: \"Tooltip on the bottom\",\n            placement: \"bottom\"\n        };\n\n        let markup = `<a href=\"#\" data-toggle=\"tooltip\" data-placement=\"${locals.placement}\" title=\"${locals.tooltip}\">${locals.text}</a>`;\n        assert.equal(markup,fn(locals));\n    });\n\n    it(\"should generate a left tooltip\", function(){\n        let fn = pug.compileFile(path.join(__dirname, \"fixtures/tooltips\",\"left-tooltip.pug\"));\n        let locals = {\n            text: \"Left tooltip\",\n            tooltip: \"Tooltip on the left\",\n            placement: \"left\"\n        };\n\n        let markup = `<a href=\"#\" data-toggle=\"tooltip\" data-placement=\"${locals.placement}\" title=\"${locals.tooltip}\">${locals.text}</a>`;\n        assert.equal(markup,fn(locals));\n    });\n\n    it(\"should generate a right tooltip\", function(){\n        let fn = pug.compileFile(path.join(__dirname, \"fixtures/tooltips\",\"right-tooltip.pug\"));\n        let locals = {\n            text: \"Right tooltip\",\n            tooltip: \"Tooltip on the right\",\n            placement: \"right\"\n        };\n\n        let markup = `<a href=\"#\" data-toggle=\"tooltip\" data-placement=\"${locals.placement}\" title=\"${locals.tooltip}\">${locals.text}</a>`;\n        assert.equal(markup,fn(locals));\n    });\n\n});\n"
  }
]