Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

initial commit

  • Loading branch information...
commit 516b194b280b7c5d9973267f4a12c584aa4dac2a 0 parents
@cobyism authored
Showing with 28,399 additions and 0 deletions.
  1. +1 −0  .gitignore
  2. +12 −0 Gemfile
  3. +24 −0 Gemfile.lock
  4. +123 −0 README.md
  5. +83 −0 Rakefile
  6. +2,300 −0 public/bootstrap.html
  7. 0  public/css/chassis/_base.css
  8. +32 −0 public/css/chassis/_device-queries.css
  9. +69 −0 public/css/chassis/_display-grids.css
  10. +14 −0 public/css/chassis/_mixins.css
  11. 0  public/css/chassis/_patterns.css
  12. +136 −0 public/css/chassis/_reset.css
  13. +171 −0 public/css/chassis/_responsive.css
  14. +82 −0 public/css/chassis/_sections-fluid.css
  15. 0  public/css/chassis/_sections.css
  16. +103 −0 public/css/chassis/_textures.css
  17. +153 −0 public/css/chassis/_typography.css
  18. +10 −0 public/css/chassis/_utilities.css
  19. 0  public/css/chassis/_variables.css
  20. +1,363 −0 public/css/chassis/main.css
  21. +1,397 −0 public/css/style.css
  22. BIN  public/images/wraptoggle.png
  23. +743 −0 public/index.html
  24. +8,981 −0 public/js/libs/jquery-1.6.2.js
  25. +18 −0 public/js/libs/jquery-1.6.2.min.js
  26. +4 −0 public/js/libs/modernizr-2.0.6.min.js
  27. +20 −0 public/js/plugins.js
  28. +5 −0 public/js/script.js
  29. +1,744 −0 source/bootstrap.haml
  30. BIN  source/images/wraptoggle.png
  31. +454 −0 source/index.haml
  32. +8,981 −0 source/js/libs/jquery-1.6.2.js
  33. +18 −0 source/js/libs/jquery-1.6.2.min.js
  34. +4 −0 source/js/libs/modernizr-2.0.6.min.js
  35. +2 −0  source/js/mylibs/.gitignore
  36. +20 −0 source/js/plugins.js
  37. +3 −0  source/js/script.coffee
  38. +54 −0 source/scss/chassis/_base.scss
  39. +51 −0 source/scss/chassis/_device-queries.scss
  40. +66 −0 source/scss/chassis/_display-grids.scss
  41. +200 −0 source/scss/chassis/_mixins.scss
  42. +251 −0 source/scss/chassis/_patterns.scss
  43. +135 −0 source/scss/chassis/_reset.scss
  44. +190 −0 source/scss/chassis/_responsive.scss
  45. +74 −0 source/scss/chassis/_sections-fluid.scss
  46. +105 −0 source/scss/chassis/_sections.scss
  47. +79 −0 source/scss/chassis/_textures.scss
  48. +51 −0 source/scss/chassis/_typography.scss
  49. +10 −0 source/scss/chassis/_utilities.scss
  50. +11 −0 source/scss/chassis/_variables.scss
  51. +17 −0 source/scss/chassis/main.scss
  52. +35 −0 source/scss/style.scss
1  .gitignore
@@ -0,0 +1 @@
+.sass-cache
12 Gemfile
@@ -0,0 +1,12 @@
+source "https://rubygems.org"
+
+# Required gems for compiling files
+
+gem 'haml'
+gem 'sass'
+gem 'coffee-script'
+
+# Other
+
+gem 'rake'
+gem 'fssm' # Should be changed to guard/listen!
24 Gemfile.lock
@@ -0,0 +1,24 @@
+GEM
+ remote: https://rubygems.org/
+ specs:
+ coffee-script (2.2.0)
+ coffee-script-source
+ execjs
+ coffee-script-source (1.3.1)
+ execjs (1.3.0)
+ multi_json (~> 1.0)
+ fssm (0.2.9)
+ haml (3.1.4)
+ multi_json (1.3.2)
+ rake (0.9.2.2)
+ sass (3.1.15)
+
+PLATFORMS
+ ruby
+
+DEPENDENCIES
+ coffee-script
+ fssm
+ haml
+ rake
+ sass
123 README.md
@@ -0,0 +1,123 @@
+# Chassis
+
+This is far from ready/usable at the moment, so bear with me. **Presume nothing works**.
+
+## What is Chassis?
+
+Chassis is an open-source web development framework. It's a way to quickly get up and running with tools that make your life easier as a web developer.
+
+For keeping you sane while developing, Chassis lets you write:
+- HTML using [HAML](http://haml-lang.com/).
+- CSS using [Sass](http://sass-lang.com/).
+- Javascript using [CoffeeScript](http://coffeescript.org/).
+
+## Installation
+
+```sh
+$ git clone git://github.com/cobychapple/chassis.git
+$ cd chassis
+```
+
+## Usage
+
+```sh
+$ rake watch
+>>> Watching for changes
+```
+
+Press `Ctrl-C` to kill `rake watch`.
+
+## More Information
+
+### How does it work?
+
+Simply put, Chassis gives you two directories:
+- A `source` directory, in which you put all your HAML, Sass, and CoffeeScript files, and any other files that make up your site.
+- A `public` directory, which will be a mirror image of the `source` directory, except with the compiled versions of the HAML, Sass, and CoffeeScript files.
+
+Any time you make a change to a HAML, Sass, or CoffeeScript file in the source. Any other files (e.g. images, PDFs) in the `source` directory will simply be mirrored across to the `public` directory without modification.
+
+### Isn't this what Compass does?
+
+Some people will probably just say "Why not just use [Compass](http://compass-style.org/)? Here's my answer:
+- Compass doesn't let you write HTML in HAML. Chassis does.
+- Compass feels like it does too much magic. Chassis just compiles and leaves everything else alone.
+- Compass is far more polished than this will probably ever be. Chassis is partly a coding excercise for me.
+
+Use whatever works for you.
+
+### How this will eventually work
+
+Eventually I'd say I'll turn this into a gem, so here's how stuff will work some time in the future.
+
+#### Install
+
+```sh
+$ gem install chassis
+```
+
+#### Usage
+
+```sh
+$ chassis create /my/new/project
+$ cd /my/new/project
+```
+
+Then use either:
+
+```sh
+$ chassis watch
+>>> Watching for changes
+```
+
+or:
+
+```sh
+$ chassis generate
+>>> Generating compiled output
+```
+
+#### Features it'll eventually have
+
+- A generic, yet beautiful UI that should suit almost project or site with minimal changes.
+- A responsive grid framework, with fluid images and lots of media-queryish-goodness.
+- Plenty of neat widgets and design patterns that are easy to setup and use with minimal code.
+- Easily create and share your own themes that override the default UI.
+- Javascript goodies like sticky navigation bars, sidebars that float with the viewport as you scroll, but don't go past the end of their container element, and such.
+- Maybe a set of common web icons to go with the buttons and stuff.
+- Plenty of web-font stacks rearing to go.
+- A set of nice, subtle background patterns and textures built in.
+
+#### Working with other tools and frameworks
+
+*Eventually* Chassis will also let you work with a few of the popular CSS frameworks, such as:
+- [Bootstrap](http://twitter.github.com/bootstrap/), by [Twitter](http://twitter.com)
+- [Foundation](http://foundation.zurb.com/), by [Zurb](http://www.zurb.com/)
+- [960.gs](http://960.gs/)
+- [978.gs](http://978.gs/)
+- [Golden Grid System](http://goldengridsystem.com/)
+- [Less Framework](http://lessframework.com/) (not to be confused with [LESS CSS](http://lesscss.org/))
+- [Fluid Baseline Grid](http://fluidbaselinegrid.com/)
+
+It will also incorporate some other practices/snippets made popular by the above, as well as:
+- [Normalize.css](http://necolas.github.com/normalize.css/)
+- [HTML5 Boilerplate](http://html5boilerplate.com/)
+
+
+#### To-do
+
+- Convert the whole thing to an installable gem
+- Add a `rake generate` task for single-use compilation.
+- Modify `rake watch` so that it does an initial check over everything when first run.
+- Make it so people can use popular CSS frameworks/grids, possibly with namespaced CSS styles (like .bootstrap, .zurb, .960-grid, .978-grid etc).
+- Hook it all up to a GitHub pages domain.
+- Maybe add an easy shell-script installer (pow.cx style)? For example: `curl cobychapple.github.com/get-chassis | sh && rake watch` (probably not needed if it's eventually converted to a gem).
+- Much, much more.
+
+## License
+
+Copyright 2011 Coby Chapple.
+
+Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
83 Rakefile
@@ -0,0 +1,83 @@
+require 'fssm'
+
+desc "Watch the current project for changes"
+task :watch do
+
+ # Change these if you have renamed your 'source' and 'public' directories
+ SRC = "source"
+ DEST = "public"
+
+ def compile(relative, action)
+
+ file_extension = File.extname(relative)
+ file_name = File.basename(relative, file_extension)
+ file_path = File.dirname(relative).sub(/(scss|sass)/, 'css')
+
+ # Let the user know what's going on.
+ if action == :create
+ puts "New file: #{relative}\n>>> Added"
+ elsif action == :delete
+ puts "File deleted: #{relative}\n>>> Removed"
+ else
+ puts "Change detected to: #{relative}\n>>> Recompiled"
+ end
+
+ # Make any necessary changes to the destination files.
+ if action == :delete
+
+ # Remove the appropriate file.
+ if file_extension == ".sass" || file_extension == ".scss"
+ if File.exists?("#{DEST}/#{file_path}/#{file_name}.css")
+ `rm #{DEST}/#{file_path}/#{file_name}.css`
+ end
+ elsif file_extension == ".coffee"
+ if File.exists?("#{DEST}/#{file_path}/#{file_name}.js")
+ `rm #{DEST}/#{file_path}/#{file_name}.js`
+ end
+ else
+ if File.exists?("#{DEST}/#{file_path}/#{file_name}#{file_extension}")
+ `rm #{DEST}/#{file_path}/#{file_name}#{file_extension}`
+ end
+ end
+
+ # Also remove the directory if there's nothing else there.
+ if (Dir.entries("#{DEST}/#{file_path}") - %w{ . .. }).empty?
+ `rmdir #{DEST}/#{file_path}`
+ end
+
+ else
+
+ # Make sure the directory exists for the file
+ unless File.exists?("#{DEST}/#{file_path}")
+ `mkdir #{DEST}/#{file_path}`
+ end
+
+ # Compile the file
+ if file_extension == ".sass"
+ `sass --line-numbers #{SRC}/#{relative} #{DEST}/#{file_path}/#{file_name}.css`
+ `sass --line-numbers #{SRC}/sass/style.sass #{DEST}/css/style.css`
+ elsif file_extension == ".scss"
+ `sass --scss --line-numbers #{SRC}/#{relative} #{DEST}/#{file_path}/#{file_name}.css`
+ `sass --scss --line-numbers #{SRC}/scss/style.scss #{DEST}/css/style.css`
+ elsif file_extension == ".haml"
+ `haml #{SRC}/#{relative} #{DEST}/#{file_path}/#{file_name}.html`
+ elsif file_extension == ".coffee"
+ `coffee --compile --output #{DEST}/#{file_path} #{SRC}/#{relative}`
+ else
+ `cp #{SRC}/#{relative} #{DEST}/#{file_path}/#{file_name}#{file_extension}`
+ end
+
+ end
+ end
+
+ # Punch it, Chewy!
+ puts ">>> Watching for changes"
+
+ FSSM.monitor("#{Dir.pwd}/#{SRC}", '**/*') do
+ create {|base, relative| compile(relative, :create)}
+ update {|base, relative| compile(relative, :update)}
+ delete {|base, relative| compile(relative, :delete)}
+ end
+
+
+end
2,300 public/bootstrap.html
@@ -0,0 +1,2300 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html lang='en'>
+ <head>
+ <meta charset='utf-8' />
+ <title>Bootstrap, from Twitter</title>
+ <meta content='' name='description' />
+ <meta content='' name='author' />
+ <link href='css/style.css' rel='stylesheet' />
+ </head>
+ <body>
+ <!--
+ Topbar
+ ==================================================
+ -->
+ <div class='topbar' data-scrollspy='scrollspy'>
+ <div class='topbar-inner'>
+ <div class='container'>
+ <a class='brand' href='#'>Bootstrap</a>
+ <ul class='nav'>
+ <li class='active'>
+ <a href='#overview'>Overview</a>
+ </li>
+ <li>
+ <a href='#about'>About</a>
+ </li>
+ <li>
+ <a href='#grid-system'>Grid</a>
+ </li>
+ <li>
+ <a href='#layouts'>Layouts</a>
+ </li>
+ <li>
+ <a href='#typography'>Type</a>
+ </li>
+ <li>
+ <a href='#media'>Media</a>
+ </li>
+ <li>
+ <a href='#tables'>Tables</a>
+ </li>
+ <li>
+ <a href='#forms'>Forms</a>
+ </li>
+ <li>
+ <a href='#navigation'>Navigation</a>
+ </li>
+ <li>
+ <a href='#alerts'>Alerts</a>
+ </li>
+ <li>
+ <a href='#popovers'>Popovers</a>
+ </li>
+ <li>
+ <a href='#javascript'>Javascript</a>
+ </li>
+ <li>
+ <a href='#less'>Less</a>
+ </li>
+ </ul>
+ </div>
+ </div>
+ </div>
+ <!--
+ Masthead (blueprinty thing)
+ ==================================================
+ -->
+ <header class='jumbotron masthead' id='overview'></header>
+ <div class='inner'>
+ <div class='container'>
+ <h1>Bootstrap, from Twitter</h1>
+ <p class='lead'>
+ Bootstrap is a toolkit from Twitter designed to kickstart development of webapps and sites.
+ <br />
+ It includes base CSS and HTML for typography, forms, buttons, tables, grids, navigation, and more.
+ <br />
+ </p>
+ <p>
+ <strong>Nerd alert:</strong>
+ Bootstrap is
+ <a href='#less' title='Read about using Bootstrap with Less'>built with Less</a>
+ and was designed to work out of the gate with modern browsers in mind.
+ </p>
+ </div>
+ <!-- /container -->
+ </div>
+ <!--
+ Quickstart options
+ ==================================================
+ -->
+ <div class='quickstart'>
+ <div class='container'>
+ <div class='row'>
+ <div class='span5'>
+ <h6>Hotlink the CSS</h6>
+ <p>For the quickest and easiest start, just copy this snippet into your webpage.</p>
+ <form>
+ <textarea class='copy-code' rows='1'>&lt;link rel="stylesheet" href="http://twitter.github.com/bootstrap/assets/css/bootstrap.min.css"></textarea>
+ </form>
+ </div>
+ <div class='span5'>
+ <h6>Use it with Less</h6>
+ <p>A fan of using Less? No problem, just clone the repo and add these lines:</p>
+ <form>
+ <textarea class='copy-code' rows='2'>&lt;link rel="stylesheet/less" href="/path/to/bootstrap.less"&gt;&#x000A;&lt;script src="/path/to/less.js"&gt;&lt;/script&gt; .span5</textarea>
+ </form>
+ <h6>Fork on GitHub</h6>
+ <p>Download, fork, pull, file issues, and more with the official Bootstrap repo on Github.</p>
+ <p>
+ <a class='btn primary' href='https://github.com/twitter/bootstrap' target='_blank'>Bootstrap on GitHub &raquo;</a>
+ </p>
+ <p class='current-version'>
+ Currently
+ <a href='https://github.com/twitter/bootstrap/wiki/Changelog'>v1.4.0</a>
+ </p>
+ </div>
+ </div>
+ <!-- /row -->
+ </div>
+ </div>
+ <div class='container'>
+ <!--
+ About Bootstrap
+ ==================================================
+ -->
+ <section id='about'></section>
+ <div class='page-header'>
+ <h1>
+ About Bootstrap
+ <small>Brief history, browser support, and more</small>
+ </h1>
+ </div>
+ <div class='row'>
+ <div class='span-one-third'>
+ <h3>History</h3>
+ <p>Engineers at Twitter have historically used almost any library they were familiar with to meet front-end requirements. Bootstrap began as an answer to the challenges that presented. With the help of many awesome folks, Bootstrap has grown significantly.</p>
+ <p>
+ Read more on
+ <a href='https://dev.twitter.com/blog/bootstrap-twitter'>dev.twitter.com &rsaquo;</a>
+ </p>
+ <p>
+ <a class='twitter-follow-button' href='http://twitter.com/twbootstrap'>Follow @twbootstrap</a>
+ <script src='http://platform.twitter.com/widgets.js' type='text/javascript'></script>
+ </p>
+ </div>
+ <div class='span-one-third'>
+ <h3>Browser support</h3>
+ <p>Bootstrap is tested and supported in major modern browsers like Chrome, Safari, Internet Explorer, and Firefox.</p>
+ <img alt='Tested and supported in Chrome, Safari, Internet Explorer, and Firefox' src='assets/img/browsers.png' />
+ <ul>
+ <li>Latest Safari</li>
+ <li>Latest Google Chrome</li>
+ <li>Firefox 4+</li>
+ <li>Internet Explorer 7+</li>
+ <li>Opera 11</li>
+ </ul>
+ </div>
+ <div class='span-one-third'>
+ <h3>What's included</h3>
+ <p>Bootstrap comes complete with compiled CSS, uncompiled, and example templates.</p>
+ <ul>
+ <li>
+ <a href='./javascript.html'>Javascript plugins</a>
+ </li>
+ <li>All original .less files</li>
+ <li>
+ Fully
+ <a href='../bootstrap.css'>compiled</a>
+ and
+ <a href='../bootstrap.min.css'>minified</a>
+ CSS
+ </li>
+ <li>Complete styleguide documentation</li>
+ <li>Three example pages with different layouts</li>
+ </ul>
+ </div>
+ </div>
+ <!-- /row -->
+ <div class='row'>
+ <div class='span12'>
+ <h3>Quick-start examples</h3>
+ <p>Need some quick templates? Check out these basic examples we've put together:</p>
+ <ul class='media-grid'>
+ <li>
+ <a href='../examples/hero.html'>
+ <img alt='Simple three-column layout with hero unit' src='assets/img/example-diagram-01.png' />
+ </a>
+ </li>
+ <li>
+ <a href='../examples/fluid.html'>
+ <img alt='Fluid layout with static sidebar' src='assets/img/example-diagram-02.png' />
+ </a>
+ </li>
+ <li>
+ <a href='../examples/container-app.html'>
+ <img alt='Simple hanging container for apps' src='assets/img/example-diagram-03.png' />
+ </a>
+ </li>
+ </ul>
+ </div>
+ </div>
+ <!-- /row -->
+ <!--
+ Grid system
+ ==================================================
+ -->
+ <section id='grid-system'></section>
+ <div class='page-header'>
+ <h1>
+ Grid system
+ <small>Rock the standard 940px or roll your own</small>
+ </h1>
+ </div>
+ <div class='row'>
+ <div class='span4'>
+ <h2>Default grid</h2>
+ <p>The default grid system provided as part of Bootstrap is a 940px wide 16-column grid. It’s a flavor of the popular 960 grid system, but without the additional margin/padding on the left and right sides.</p>
+ </div>
+ <div class='span12'>
+ <h3>Example grid markup</h3>
+ <p>As shown here, a basic layout can be created with two "columns," each spanning a number of the 16 foundational columns we defined as part of our grid system. See the examples below for more variations.</p>
+ </div>
+ </div>
+ <!-- /row -->
+ <div class='row show-grid' title='16 column layout'>
+ <div class='span1'>1</div>
+ <div class='span1'>1</div>
+ <div class='span1'>1</div>
+ <div class='span1'>1</div>
+ <div class='span1'>1</div>
+ <div class='span1'>1</div>
+ <div class='span1'>1</div>
+ <div class='span1'>1</div>
+ <div class='span1'>1</div>
+ <div class='span1'>1</div>
+ <div class='span1'>1</div>
+ <div class='span1'>1</div>
+ <div class='span1'>1</div>
+ <div class='span1'>1</div>
+ <div class='span1'>1</div>
+ <div class='span1'>1</div>
+ </div>
+ <!-- /row -->
+ <div class='row show-grid' title='8 column layout'>
+ <div class='span2'>2</div>
+ <div class='span2'>2</div>
+ <div class='span2'>2</div>
+ <div class='span2'>2</div>
+ <div class='span2'>2</div>
+ <div class='span2'>2</div>
+ <div class='span2'>2</div>
+ <div class='span2'>2</div>
+ </div>
+ <!-- /row -->
+ <div class='row show-grid' title='Example uncommon layout'>
+ <div class='span3'>3</div>
+ <div class='span3'>3</div>
+ <div class='span3'>3</div>
+ <div class='span3'>3</div>
+ <div class='span3'>3</div>
+ <div class='span1 column'>1</div>
+ </div>
+ <!-- /row -->
+ <div class='row show-grid' title='Four column layout'>
+ <div class='span4'>4</div>
+ <div class='span4'>4</div>
+ <div class='span4'>4</div>
+ <div class='span4'>4</div>
+ </div>
+ <!-- /row -->
+ <div class='row show-grid' title='Default three column layout'>
+ <div class='span-one-third'>1/3</div>
+ <div class='span-one-third'>1/3</div>
+ <div class='span-one-third'>1/3</div>
+ </div>
+ <!-- /row -->
+ <div class='row show-grid' title='One-third and two-thirds layout'>
+ <div class='span-one-third'>1/3</div>
+ <div class='span-two-thirds'>2/3</div>
+ </div>
+ <!-- /row -->
+ <div class='row show-grid' title='Irregular three column layout'>
+ <div class='span4'>4</div>
+ <div class='span6'>6</div>
+ <div class='span6'>6</div>
+ </div>
+ <!-- /row -->
+ <div class='row show-grid' title='Half and half'>
+ <div class='span8'>8</div>
+ <div class='span8'>8</div>
+ </div>
+ <!-- /row -->
+ <div class='row show-grid' title='Example uncommon two-column layout'>
+ <div class='span5'>5</div>
+ <div class='span11'>11</div>
+ </div>
+ <!-- /row -->
+ <div class='row show-grid' title='Unnecessary single column layout'>
+ <div class='span16'>16</div>
+ </div>
+ <!-- /row -->
+ <br />
+ <h2>Offsetting columns</h2>
+ <div class='row show-grid'>
+ <div class='span4'>4</div>
+ <div class='span8 offset4'>8 offset 4</div>
+ </div>
+ <!-- /row -->
+ <div class='row show-grid'>
+ <div class='span-one-third offset-two-thirds'>1/3 offset 2/3s</div>
+ </div>
+ <!-- /row -->
+ <div class='row show-grid'>
+ <div class='span4 offset4'>4 offset 4</div>
+ <div class='span4 offset4'>4 offset 4</div>
+ </div>
+ <!-- /row -->
+ <div class='row show-grid'>
+ <div class='span5 offset3'>5 offset 3</div>
+ <div class='span5 offset3'>5 offset 3</div>
+ </div>
+ <!-- /row -->
+ <div class='row show-grid'>
+ <div class='span10 offset6'>10 offset 6</div>
+ </div>
+ <!-- /row -->
+ <br />
+ <div class='row'>
+ <div class='span4'>
+ <h2>Nesting columns</h2>
+ <p>
+ Nest your content if you must by creating a
+ <code>.row</code>
+ within an existing column.
+ </p>
+ </div>
+ <div class='span12'>
+ <h4>Example of nested columns</h4>
+ <div class='row show-grid'>
+ <div class='span12'>
+ Level 1 of column
+ <div class='row show-grid'>
+ <div class='span6'>
+ Level 2
+ </div>
+ <div class='span6'>
+ Level 2
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <br />
+ <div class='row'>
+ <div class='span4'>
+ <h2>Roll your own grid</h2>
+ <p>Built into Bootstrap are a handful of variables for customizing the default 940px grid system. With a bit of customization, you can modify the size of columns, their gutters, and the container they reside in.</p>
+ </div>
+ <div class='span12'>
+ <h3>Inside the grid</h3>
+ <p>
+ The variables needed to modify the grid system currently all reside in
+ <code>variables.less</code>.
+ </p>
+ <table class='bordered-table zebra-striped'>
+ <thead>
+ <tr>
+ <th>Variable</th>
+ <th>Default value</th>
+ <th>Description</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>
+ <code>@gridColumns</code>
+ </td>
+ <td>16</td>
+ <td>The number of columns within the grid</td>
+ </tr>
+ <tr>
+ <td>
+ <code>@gridColumnWidth</code>
+ </td>
+ <td>40px</td>
+ <td>The width of each column within the grid</td>
+ </tr>
+ <tr>
+ <td>
+ <code>@gridGutterWidth</code>
+ </td>
+ <td>20px</td>
+ <td>The negative space between each column</td>
+ </tr>
+ <tr>
+ <td>
+ <code>@siteWidth</code>
+ </td>
+ <td>
+ <em>Computed sum of all columns and gutters</em>
+ </td>
+ <td>
+ We use some basic match to count the number of columns and gutters and set the width of the
+ <code>.fixed-container()</code>
+ mixin.
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <h3>Now to customize</h3>
+ <p>
+ Modifying the grid means changing the three
+ <code>@grid-*</code>
+ variables and recompiling the Less files.
+ </p>
+ <p>Bootstrap comes equipped to handle a grid system with up to 24 columns; the default is just 16. Here's how your grid variables would look customized to a 24-column grid.</p>
+ <p>Once recompiled, you'll be set!</p>
+ </div>
+ </div>
+ <!--
+ Layouts (Default and fluid)
+ ==================================================
+ -->
+ <section id='layouts'></section>
+ <div class='page-header'>
+ <h1>
+ Layouts
+ <small>Basic templates to create webpages</small>
+ </h1>
+ </div>
+ <div class='row'>
+ <div class='span8'>
+ <h2>Fixed layout</h2>
+ <p>
+ The default and simple 940px-wide, centered layout for just about any website or page provided by a single
+ <code>&lt;div.container&gt;</code>.
+ </p>
+ <div class='mini-layout'>
+ <div class='mini-layout-body'></div>
+ </div>
+ </div>
+ <!-- /col -->
+ <div class='span8'>
+ <h2>Fluid layout</h2>
+ <p>An alternative, flexible fluid page structure with min- and max-widths and a left-hand sidebar. Great for apps and docs.</p>
+ <div class='mini-layout fluid'>
+ <div class='mini-layout-sidebar'></div>
+ <div class='mini-layout-body'></div>
+ </div>
+ </div>
+ <!-- /col -->
+ </div>
+ <!-- /row -->
+ <!--
+ Typography
+ ==================================================
+ -->
+ <section id='typography'></section>
+ <div class='page-header'>
+ <h1>
+ Typography
+ <small>Headings, paragraphs, lists, and other inline type elements</small>
+ </h1>
+ </div>
+ <!-- Headings &amp; Paragraph Copy -->
+ <div class='row'>
+ <div class='span4'>
+ <h2>Headings &amp; copy</h2>
+ <p>A standard typographic hierarchy for structuring your webpages.</p>
+ <p>
+ The entire typographic grid is based on two Less variables in our variables.less file:
+ <code>@basefont</code>
+ and
+ <code>@baseline</code>.
+ The first is the base font-size used throughout and the second is the base line-height.
+ </p>
+ <p>We use those variables, and some math, to create the margins, paddings, and line-heights of all our type and more.</p>
+ </div>
+ <div class='span4'>
+ <h1>h1. Heading 1</h1>
+ <h2>h2. Heading 2</h2>
+ <h3>h3. Heading 3</h3>
+ <h4>h4. Heading 4</h4>
+ <h5>h5. Heading 5</h5>
+ <h6>h6. Heading 6</h6>
+ </div>
+ <div class='span8'>
+ <h3>Example paragraph</h3>
+ <p>Nullam quis risus eget urna mollis ornare vel eu leo. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
+ <h1>
+ Example heading
+ <small>Has sub-heading&hellip;</small>
+ </h1>
+ </div>
+ </div>
+ <!-- Misc Elements -->
+ <div class='row'>
+ <div class='span4'>
+ <h2>Misc. elements</h2>
+ <p>Using emphasis, addresses, &amp; abbreviations</p>
+ <p>
+ <code>&lt;strong&gt;</code>
+ <code>&lt;em&gt;</code>
+ <code>&lt;address&gt;</code>
+ <code>&lt;abbr&gt;</code>
+ </p>
+ </div>
+ <div class='span12'>
+ <h3>When to use</h3>
+ <p>
+ Emphasis tags (
+ <code>&lt;strong&gt;</code>
+ and
+ <code>&lt;em&gt;</code>)
+ should be used to indicate additional importance or emphasis of a word or phrase relative to its surrounding copy. Use
+ <code>&lt;strong&gt;</code>
+ for importance and
+ <code>&lt;em&gt;</code>
+ for
+ <em>stress</em>
+ emphasis.
+ </p>
+ <h3>Emphasis in a paragraph</h3>
+ <p><a href='#'>Fusce dapibus</a>,
+ <strong>tellus ac cursus commodo</strong>,
+ <em>tortor mauris condimentum nibh</em>,
+ ut fermentum massa justo sit amet risus. Maecenas faucibus mollis interdum. Nulla vitae elit libero, a pharetra augue.
+ </p>
+ <p>
+ <strong>Note:</strong>
+ It's still okay to use
+ <code>&lt;b&gt;</code>
+ and
+ <code>&lt;i&gt;</code>
+ tags in HTML5 and they don't have to be styled bold and italic, respectively (although if there is a more semantic element, use it).
+ <code>&lt;b&gt;</code>
+ is meant to highlight words or phrases without conveying additional importance, while
+ <code>&lt;i&gt;</code>
+ is mostly for voice, technical terms, etc.
+ </p>
+ <h3>Addresses</h3>
+ <p>
+ The
+ <code>&lt;address&gt;</code>
+ element is used for contact information for its nearest ancestor, or the entire body of work. Here are two examples of how it could be used:
+ </p>
+ <div class='row'>
+ <div class='span4'>
+ <address>
+ <strong>Twitter, Inc.</strong>
+ <br />
+ 795 Folsom Ave, Suite 600
+ <br />
+ San Francisco, CA 94107
+ <br />
+ <abbr title='Phone'>P:</abbr>
+ (123) 456-7890
+ </address>
+ </div>
+ <div class='span4'>
+ <address>
+ <strong>Full Name</strong>
+ <br />
+ <a mailto=''>first.last@gmail.com</a>
+ </address>
+ </div>
+ </div>
+ <p>
+ <strong>Note:</strong>
+ Each line in an
+ <code>&lt;address&gt;</code>
+ must end with a line-break (<code>&lt;br /&gt;</code>) or be wrapped in a block-level tag (e.g.,
+ <code>&lt;p&gt;</code>)
+ to properly structure the content.
+ </p>
+ <h3>Abbreviations</h3>
+ <p>
+ For abbreviations and acronyms, use the
+ <code>&lt;abbr&gt;</code>
+ tag (
+ <code>&lt;acronym&gt;</code>
+ is deprecated in
+ <abbr title='HyperText Markup Langugage 5'>HTML5</abbr>).
+ Put the shorthand form within the tag and set a title for the complete name.
+ </p>
+ </div>
+ </div>
+ <!-- /row -->
+ <!-- Blockquotes -->
+ <div class='row'>
+ <div class='span4'>
+ <h2>Blockquotes</h2>
+ <p>
+ <code>&lt;blockquote&gt;</code>
+ <code>&lt;p&gt;</code>
+ <code>&lt;small&gt;</code>
+ </p>
+ </div>
+ <div class='span12'>
+ <h3>How to quote</h3>
+ <p>
+ To include a blockquote, wrap
+ <code>&lt;blockquote&gt;</code>
+ around
+ <code>&lt;p&gt;</code>
+ and
+ <code>&lt;small&gt;</code>
+ tags. Use the
+ <code>&lt;small&gt;</code>
+ element to cite your source and you'll get an em dash
+ <code>&amp;mdash;</code>
+ before it.
+ </p>
+ <blockquote>
+ <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante venenatis dapibus posuere velit aliquet.</p>
+ <small>Dr. Julius Hibbert</small>
+ </blockquote>
+ </div>
+ </div>
+ <!-- /row -->
+ <h2>Lists</h2>
+ <div class='row'>
+ <div class='span4'>
+ <h4>
+ Unordered
+ <code>&lt;ul&gt;</code>
+ </h4>
+ <ul>
+ <li>Lorem ipsum dolor sit amet</li>
+ <li>Consectetur adipiscing elit</li>
+ <li>Integer molestie lorem at massa</li>
+ <li>Facilisis in pretium nisl aliquet</li>
+ <li>
+ Nulla volutpat aliquam velit
+ <ul>
+ <li>Phasellus iaculis neque</li>
+ <li>Purus sodales ultricies</li>
+ <li>Vestibulum laoreet porttitor sem</li>
+ <li>Ac tristique libero volutpat at</li>
+ </ul>
+ </li>
+ <li>Faucibus porta lacus fringilla vel</li>
+ <li>Aenean sit amet erat nunc</li>
+ <li>Eget porttitor lorem</li>
+ </ul>
+ </div>
+ <div class='span4'>
+ <h4>
+ Unstyled
+ <code>&lt;ul.unstyled&gt;</code>
+ </h4>
+ <ul class='unstyled'>
+ <li>Lorem ipsum dolor sit amet</li>
+ <li>Consectetur adipiscing elit</li>
+ <li>Integer molestie lorem at massa</li>
+ <li>Facilisis in pretium nisl aliquet</li>
+ <li>
+ Nulla volutpat aliquam velit
+ <ul>
+ <li>Phasellus iaculis neque</li>
+ <li>Purus sodales ultricies</li>
+ <li>Vestibulum laoreet porttitor sem</li>
+ <li>Ac tristique libero volutpat at</li>
+ </ul>
+ </li>
+ <li>Faucibus porta lacus fringilla vel</li>
+ <li>Aenean sit amet erat nunc</li>
+ <li>Eget porttitor lorem</li>
+ </ul>
+ </div>
+ <div class='span4'>
+ <h4>
+ Ordered
+ <code>&lt;ol&gt;</code>
+ </h4>
+ <ol>
+ <li>Lorem ipsum dolor sit amet</li>
+ <li>Consectetur adipiscing elit</li>
+ <li>Integer molestie lorem at massa</li>
+ <li>Facilisis in pretium nisl aliquet</li>
+ <li>Nulla volutpat aliquam velit</li>
+ <li>Faucibus porta lacus fringilla vel</li>
+ <li>Aenean sit amet erat nunc</li>
+ <li>Eget porttitor lorem</li>
+ </ol>
+ </div>
+ <div class='span4'>
+ <h4>
+ Description
+ <code>dl</code>
+ </h4>
+ <dl>
+ <dt>Description lists</dt>
+ <dd>A description list is perfect for defining terms.</dd>
+ <dt>Euismod</dt>
+ <dd>Vestibulum id ligula porta felis euismod semper eget lacinia odio sem nec elit.</dd>
+ <dd>Donec id elit non mi porta gravida at eget metus.</dd>
+ <dt>Malesuada porta</dt>
+ <dd>Etiam porta sem malesuada magna mollis euismod.</dd>
+ </dl>
+ </div>
+ </div>
+ <!-- /row -->
+ <!-- Code -->
+ <div class='row'>
+ <div class='span4'>
+ <h2>Code</h2>
+ <p>
+ <code>&lt;code&gt;</code>
+ <code>&lt;pre&gt;</code>
+ </p>
+ <p>Pimp your code in style with two simple tags. For even more awesomeness through javascript, drop in Google's code prettify library and you're set.</p>
+ </div>
+ <div class='span12'>
+ <h3>Presenting code</h3>
+ <p>
+ Code, blocks of or just snippets inline, can be displayed with style just by wrapping in the right tag. For blocks of code spanning multiple lines, use the
+ <code>&lt;pre&gt;</code>
+ element. For inline code, use the
+ <code>&lt;code&gt;</code>
+ element.
+ </p>
+ <table class='bordered-table zebra-striped'>
+ <thead>
+ <tr>
+ <th style='width: 190px;'>Element</th>
+ <th>Result</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>
+ <code>&lt;code&gt;</code>
+ </td>
+ <td>
+ In a line of text like this, your wrapped code will look like this
+ <code>&lt;html&gt;</code>
+ element.
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <code>&lt;pre&gt;</code>
+ </td>
+ <td>
+ <pre>&lt;div&gt;&#x000A; &lt;h1&gt;Heading&lt;/h1&gt;&#x000A; &lt;p&gt;Something right here...&lt;/p&gt;&#x000A;&lt;/div&gt; %p
+ <strong>Note:</strong>
+ Be sure to keep code within
+ <code>&lt;pre&gt;</code>
+ tags as close to the left as possible; it will render all tabs.</pre>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <code>&lt;pre class="prettyprint"&gt;</code>
+ </td>
+ <td>
+ <p>Using the google-code-prettify library, your blocks of code get a slightly different visual style and automatic syntax highlighting.</p>
+ <p>
+ <a href='http://code.google.com/p/google-code-prettify/'>Download google-code-prettify</a>
+ and view the readme for
+ <a href='http://google-code-prettify.googlecode.com/svn/trunk/README.html'>how to use</a>.
+ </p>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <!-- /row -->
+ <!-- Labels -->
+ <div class='row'>
+ <div class='span4'>
+ <h2>Inline labels</h2>
+ <p>
+ <code>&lt;span class="label"&gt;</code>
+ </p>
+ <p>Call attention to or flag any phrase in your body text.</p>
+ </div>
+ <div class='span12'>
+ <h3>Label anything</h3>
+ <p>
+ Ever needed one of those fancy
+ <span class='label success'>New!</span>
+ or
+ <span class='label important'>Important</span>
+ flags when writing code? Well, now you have them. Here's what's included by default:
+ </p>
+ <table class='bordered-table zebra-striped'>
+ <thead>
+ <tr>
+ <th style='width: 50%;'>Label</th>
+ <th>Result</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>
+ <code>&lt;span class="label"&gt;Default&lt;/span&gt;</code>
+ </td>
+ <td>
+ <span class='label'>Default</span>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <code>&lt;span class="label success"&gt;New&lt;/span&gt;</code>
+ </td>
+ <td>
+ <span class='label success'>New</span>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <code>&lt;span class="label warning"&gt;Warning&lt;/span&gt;</code>
+ </td>
+ <td>
+ <span class='label warning'>Warning</span>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <code>&lt;span class="label important"&gt;Important&lt;/span&gt;</code>
+ </td>
+ <td>
+ <span class='label important'>Important</span>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <code>&lt;span class="label notice"&gt;Notice&lt;/span&gt;</code>
+ </td>
+ <td>
+ <span class='label notice'>Notice</span>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <!-- /row -->
+ <!--
+ Media
+ ==================================================
+ -->
+ <section id='media'></section>
+ <div class='page-header'>
+ <h1>
+ Media
+ <small>Displaying images and videos</small>
+ </h1>
+ </div>
+ <!-- Table structure -->
+ <div class='row'>
+ <div class='span4'>
+ <h2>Media grid</h2>
+ <p>Display thumbnails of varying sizes on pages with a low HTML footprint and minimal styles.</p>
+ </div>
+ <div class='span12'>
+ <h3>Example thumbnails</h3>
+ <p>
+ Thumbnails in the
+ <code>.media-grid</code>
+ can be any size, but they work best when mapped directly to the built-in Bootstrap grid system. Image widths like 90, 210, and 330 combine with a few pixels of padding to equal the
+ <code>.span2</code>,
+ <code>.span4</code>,
+ and
+ <code>.span6</code>
+ column sizes.
+ </p>
+ <h4>Large</h4>
+ <ul class='media-grid'>
+ <li>
+ <a href='#'>
+ <img alt='' class='thumbnail' src='http://placehold.it/330x230' />
+ </a>
+ </li>
+ <li>
+ <a href='#'>
+ <img alt='' class='thumbnail' src='http://placehold.it/330x230' />
+ </a>
+ </li>
+ </ul>
+ <h4>Medium</h4>
+ <ul class='media-grid'>
+ <li>
+ <a href='#'>
+ <img alt='' class='thumbnail' src='http://placehold.it/210x150' />
+ </a>
+ </li>
+ <li>
+ <a href='#'>
+ <img alt='' class='thumbnail' src='http://placehold.it/210x150' />
+ </a>
+ </li>
+ <li>
+ <a href='#'>
+ <img alt='' class='thumbnail' src='http://placehold.it/210x150' />
+ </a>
+ </li>
+ <li>
+ <a href='#'>
+ <img alt='' class='thumbnail' src='http://placehold.it/210x150' />
+ </a>
+ </li>
+ <li>
+ <a href='#'>
+ <img alt='' class='thumbnail' src='http://placehold.it/210x150' />
+ </a>
+ </li>
+ </ul>
+ <h4>Small</h4>
+ <ul class='media-grid'>
+ <li>
+ <a href='#'>
+ <img alt='' class='thumbnail' src='http://placehold.it/90x90' />
+ </a>
+ </li>
+ <li>
+ <a href='#'>
+ <img alt='' class='thumbnail' src='http://placehold.it/90x90' />
+ </a>
+ </li>
+ <li>
+ <a href='#'>
+ <img alt='' class='thumbnail' src='http://placehold.it/90x90' />
+ </a>
+ </li>
+ </ul>
+ <h4>Coding them</h4>
+ <p>Media grids are easy to use and rather simple on the markup side. Their dimensions are purely based on the size of the images included.</p>
+ </div>
+ </div>
+ <!-- /row -->
+ <!--
+ Tables
+ ==================================================
+ -->
+ <section id='tables'></section>
+ <div class='page-header'>
+ <h1>
+ Tables
+ <small>For, you guessed it, tabular data</small>
+ </h1>
+ </div>
+ <!-- Table structure -->
+ <div class='row'>
+ <div class='span4'>
+ <h2>Building tables</h2>
+ <p>
+ <code>&lt;table&gt;</code>
+ <code>&lt;thead&gt;</code>
+ <code>&lt;tbody&gt;</code>
+ <code>&lt;tr&gt;</code>
+ <code>&lt;th&gt;</code>
+ <code>&lt;td&gt;</code>
+ <code>&lt;colspan&gt;</code>
+ <code>&lt;caption&gt;</code>
+ </p>
+ <p>Tables are great&mdash;for a lot of things. Great tables, however, need a bit of markup love to be useful, scalable, and readable (at the code level). Here are a few tips to help.</p>
+ <p>
+ Always wrap your column headers in a
+ <code>&lt;thead&gt;</code>
+ such that hierarchy is
+ <code>&lt;thead&gt;</code>
+ >
+ <code>&lt;tr&gt;</code>
+ >
+ <code>&lt;th&gt;</code>.
+ </p>
+ <p>
+ Similar to the column headers, all your table’s body content should be wrapped in a
+ <code>&lt;tbody&gt;</code>
+ so your hierarchy is
+ <code>&lt;tbody&gt;</code>
+ >
+ <code>&lt;tr&gt;</code>
+ >
+ <code>&lt;td&gt;</code>.
+ </p>
+ </div>
+ <div class='span12'>
+ <h3>Example: Default table styles</h3>
+ <p>All tables will be automatically styled with only the essential borders to ensure readability and maintain structure. No need to add extra classes or attributes.</p>
+ <table>
+ <thead>
+ <tr>
+ <th>#</th>
+ <th>First Name</th>
+ <th>Last Name</th>
+ <th>Language</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>1</td>
+ <td>Some</td>
+ <td>One</td>
+ <td>English</td>
+ </tr>
+ <tr>
+ <td>2</td>
+ <td>Joe</td>
+ <td>Sixpack</td>
+ <td>English</td>
+ </tr>
+ <tr>
+ <td>3</td>
+ <td>Stu</td>
+ <td>Dent</td>
+ <td>Code</td>
+ </tr>
+ </tbody>
+ </table>
+ <h3>Example: Condensed table</h3>
+ <p>For tables that require more data in tighter spaces, use the condensed flavor that cuts padding in half. It can also be used in conjunction with borders and zebra-stripes, just like the default table styles.</p>
+ <table class='condensed-table'>
+ <thead>
+ <tr>
+ <th>#</th>
+ <th>First Name</th>
+ <th>Last Name</th>
+ <th>Language</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <th>1</th>
+ <td>Some</td>
+ <td>One</td>
+ <td>English</td>
+ </tr>
+ <tr>
+ <th>2</th>
+ <td>Joe</td>
+ <td>Sixpack</td>
+ <td>English</td>
+ </tr>
+ <tr>
+ <th>3</th>
+ <td>Stu</td>
+ <td>Dent</td>
+ <td>Code</td>
+ </tr>
+ </tbody>
+ </table>
+ <h3>Example: Bordered table</h3>
+ <p>Make your tables look just a wee bit sleeker by rounding their corners and adding borders on all sides.</p>
+ <table class='bordered-table'>
+ <thead>
+ <tr>
+ <th>#</th>
+ <th>First Name</th>
+ <th>Last Name</th>
+ <th>Language</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <th>1</th>
+ <td>Some</td>
+ <td>One</td>
+ <td>English</td>
+ </tr>
+ <tr>
+ <th>2</th>
+ <td>Joe</td>
+ <td>Sixpack</td>
+ <td>English</td>
+ </tr>
+ <tr>
+ <th>3</th>
+ <td>Stu</td>
+ <td>Dent</td>
+ <td>Code</td>
+ </tr>
+ </tbody>
+ </table>
+ <h3>Example: Zebra-striped</h3>
+ <p>
+ Get a little fancy with your tables by adding zebra-striping&mdash;just add the
+ <code>.zebra-striped</code>
+ class.
+ </p>
+ <table class='bordered-table zebra-striped'>
+ <thead>
+ <tr>
+ <th>#</th>
+ <th>First Name</th>
+ <th>Last Name</th>
+ <th>Language</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>1</td>
+ <td>Some</td>
+ <td>One</td>
+ <td>English</td>
+ </tr>
+ <tr>
+ <td>2</td>
+ <td>Joe</td>
+ <td>Sixpack</td>
+ <td>English</td>
+ </tr>
+ <tr>
+ <td>3</td>
+ <td>Stu</td>
+ <td>Dent</td>
+ <td>Code</td>
+ </tr>
+ <tr>
+ <td colspan='4'>
+ span 4 columns
+ </td>
+ </tr>
+ <tr>
+ <td colspan='2'>
+ span 2 columns
+ </td>
+ <td colspan='2'>
+ span 2 columns
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <p>
+ <strong>Note:</strong>
+ Zebra-striping is a progressive enhancement not available for older browsers like IE8 and below.
+ </p>
+ <h3>Example: Zebra-striped w/ TableSorter.js</h3>
+ <p>
+ Taking the previous example, we improve the usefulness of our tables by providing sorting functionality via
+ <a href='http://jquery.com'>jQuery</a>
+ and the
+ <a href='http://tablesorter.com/docs/'>Tablesorter</a>
+ plugin.
+ <strong>Click any column’s header to change the sort.</strong>
+ </p>
+ <table class='zebra-striped' id='sortTableExample'>
+ <thead>
+ <tr>
+ <th>#</th>
+ <th class='yellow'>First Name</th>
+ <th class='blue'>Last Name</th>
+ <th class='green'>Language</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>1</td>
+ <td>Your</td>
+ <td>One</td>
+ <td>English</td>
+ </tr>
+ <tr>
+ <td>2</td>
+ <td>Joe</td>
+ <td>Sixpack</td>
+ <td>English</td>
+ </tr>
+ <tr>
+ <td>3</td>
+ <td>Stu</td>
+ <td>Dent</td>
+ <td>Code</td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <!--
+ Forms
+ ==================================================
+ -->
+ <section id='forms'></section>
+ <div class='page-header'>
+ <h1>Forms</h1>
+ </div>
+ <div class='row'>
+ <div class='span4'>
+ <h2>Default styles</h2>
+ <p>All forms are given default styles to present them in a readable and scalable way. Styles are provided for text inputs, select lists, textareas, radio buttons and checkboxes, and buttons.</p>
+ </div>
+ <div class='span12'>
+ <form>
+ <fieldset>
+ <legend>Example form legend</legend>
+ <div class='clearfix'>
+ <label for='xlInput'>X-Large input</label>
+ <div class='input'>
+ <input class='xlarge' id='xlInput' name='xlInput' size='30' type='text' />
+ </div>
+ </div>
+ <!-- /clearfix -->
+ <div class='clearfix'>
+ <label for='normalSelect'>Select</label>
+ <div class='input'>
+ <select id='normalSelect' name='normalSelect'>
+ <option>1</option>
+ <option>2</option>
+ <option>3</option>
+ <option>4</option>
+ <option>5</option>
+ </select>
+ </div>
+ </div>
+ <!-- /clearfix -->
+ <div class='clearfix'>
+ <label for='mediumSelect'>Select</label>
+ <div class='input'>
+ <select class='medium' id='mediumSelect' name='mediumSelect'>
+ <option>1</option>
+ <option>2</option>
+ <option>3</option>
+ <option>4</option>
+ <option>5</option>
+ </select>
+ </div>
+ </div>
+ <!-- /clearfix -->
+ <div class='clearfix'>
+ <label for='multiSelect'>Multiple select</label>
+ <div class='input'>
+ <select class='medium' id='multiSelect' multiple='multiple' name='multiSelect' size='5'>
+ <option>1</option>
+ <option>2</option>
+ <option>3</option>
+ <option>4</option>
+ <option>5</option>
+ </select>
+ </div>
+ </div>
+ <!-- /clearfix -->
+ <div class='clearfix'>
+ <label>Uneditable input</label>
+ <div class='input'>
+ <span class='uneditable-input'>Some value here</span>
+ </div>
+ </div>
+ <!-- /clearfix -->
+ <div class='clearfix'>
+ <label for='disabledInput'>Disabled input</label>
+ <div class='input'>
+ <input class='xlarge disabled' disabled='' id='disabledInput' name='disabledInput' placeholder='Disabled input here… carry on.' size='30' type='text' />
+ </div>
+ </div>
+ <!-- /clearfix -->
+ <div class='clearfix'>
+ <label for='disabledInput'>Disabled textarea</label>
+ <div class='input'>
+ <textarea class='xxlarge' disabled='' id='textarea' name='textarea' rows='3'></textarea>
+ </div>
+ </div>
+ <!-- /clearfix -->
+ <div class='clearfix error'>
+ <label for='errorInput'>Input with error</label>
+ <div class='input'>
+ <input class='xlarge error' id='errorInput' name='errorInput' size='30' type='text' />
+ <span class='help-inline'>Small snippet of help text</span>
+ </div>
+ </div>
+ <!-- /clearfix -->
+ <div class='clearfix success'>
+ <label for='successInput'>Input with success</label>
+ <div class='input'>
+ <input class='xlarge error' id='successInput' name='successInput' size='30' type='text' />
+ <span class='help-inline'>Success!</span>
+ </div>
+ </div>
+ <!-- /clearfix -->
+ <div class='clearfix warning'>
+ <label for='warningInput'>Input with warning</label>
+ <div class='input'>
+ <input class='xlarge error' id='warningInput' name='warningInput' size='30' type='text' />
+ <span class='help-inline'>Ruh roh!</span>
+ </div>
+ </div>
+ <!-- /clearfix -->
+ </fieldset>
+ <fieldset>
+ <legend>Example form legend</legend>
+ <div class='clearfix'>
+ <label for='prependedInput'>Prepended text</label>
+ <div class='input'>
+ <div class='input-prepend'>
+ <span class='add-on'>@</span>
+ <input class='medium' id='prependedInput' name='prependedInput' size='16' type='text' />
+ </div>
+ <span class='help-block'>Here's some help text</span>
+ </div>
+ </div>
+ <!-- /clearfix -->
+ <div class='clearfix'>
+ <label for='prependedInput2'>Prepended checkbox</label>
+ <div class='input'>
+ <div class='input-prepend'>
+ <label class='add-on'>
+ <input id='' name='' type='checkbox' value='' />
+ </label>
+ <input class='mini' id='prependedInput2' name='prependedInput2' size='16' type='text' />
+ </div>
+ </div>
+ </div>
+ <!-- /clearfix -->
+ <div class='clearfix'>
+ <label for='appendedInput'>Appended checkbox</label>
+ <div class='input'>
+ <div class='input-append'>
+ <input class='mini' id='appendedInput' name='appendedInput' size='16' type='text' />
+ <label class='add-on active'>
+ <input checked='checked' id='' name='' type='checkbox' value='' />
+ </label>
+ </div>
+ </div>
+ </div>
+ <!-- /clearfix -->
+ <div class='clearfix'>
+ <label for='fileInput'>File input</label>
+ <div class='input'>
+ <input class='input-file' id='fileInput' name='fileInput' type='file' />
+ </div>
+ </div>
+ <!-- /clearfix -->
+ </fieldset>
+ <fieldset>
+ <legend>Example form legend</legend>
+ <div class='clearfix'>
+ <label id='optionsCheckboxes'>List of options</label>
+ <div class='input'>
+ <ul class='inputs-list'>
+ <li>
+ <label>
+ <input name='optionsCheckboxes' type='checkbox' value='option1' />
+ <span>Option one is this and that&mdash;be sure to include why it’s great</span>
+ </label>
+ </li>
+ <li>
+ <label>
+ <input name='optionsCheckboxes' type='checkbox' value='option2' />
+ <span>Option two can also be checked and included in form results</span>
+ </label>
+ </li>
+ <li>
+ <label>
+ <input name='optionsCheckboxes' type='checkbox' value='option2' />
+ <span>Option three can&mdash;yes, you guessed it&mdash;also be checked and included in form results. Let's make it super long so that everyone can see how it wraps, too.</span>
+ </label>
+ </li>
+ <li>
+ <label class='disabled'>
+ <input disabled='' name='optionsCheckboxes' type='checkbox' value='option2' />
+ <span>Option four cannot be checked as it is disabled.</span>
+ </label>
+ </li>
+ </ul>
+ <span class='help-block'>
+ <strong>Note:</strong>
+ Labels surround all the options for much larger click areas and a more usable form.
+ </span>
+ </div>
+ </div>
+ <!-- /clearfix -->
+ <div class='clearfix'>
+ <label>Date range</label>
+ <div class='input'>
+ <div class='inline-inputs'>
+ <input class='small' type='text' value='May 1, 2011' />
+ <input class='mini' type='text' value='12:00am' />
+ to
+ <input class='small' type='text' value='May 8, 2011' />
+ <input class='mini' type='text' value='11:59pm' />
+ <span class='help-block'>All times are shown as Pacific Standard Time (GMT -08:00).</span>
+ </div>
+ </div>
+ </div>
+ <!-- /clearfix -->
+ <div class='clearfix'>
+ <label for='textarea'>Textarea</label>
+ <div class='input'>
+ <textarea class='xxlarge' id='textarea2' name='textarea2' rows='3'></textarea>
+ <span class='help-block'>
+ Block of help text to describe the field above if need be.
+ </span>
+ </div>
+ </div>
+ <!-- /clearfix -->
+ <div class='clearfix'>
+ <label id='optionsRadio'>List of options</label>
+ <div class='input'>
+ <ul class='inputs-list'>
+ <li>
+ <label>
+ <input checked='' name='optionsRadios' type='radio' value='option1' />
+ <span>Option one is this and that&mdash;be sure to include why it’s great</span>
+ </label>
+ </li>
+ <li>
+ <label>
+ <input name='optionsRadios' type='radio' value='option2' />
+ <span>Option two is something else and selecting it will deselect option 1</span>
+ </label>
+ </li>
+ </ul>
+ </div>
+ </div>
+ <!-- /clearfix -->
+ <div class='actions'><input class='btn primary' type='submit' value='Save changes' />&nbsp;
+ <button class='btn' type='reset'>Cancel</button>
+ </div>
+ </fieldset>
+ </form>
+ </div>
+ </div>
+ <!-- /row -->
+ <br />
+ <div class='row'>
+ <div class='span4'>
+ <h2>Stacked forms</h2>
+ <p>
+ Add
+ <code>.form-stacked</code>
+ to your form’s HTML and you’ll have labels on top of their fields instead of to their left. This works great if your forms are short or you have two columns of inputs for heavier forms.
+ </p>
+ </div>
+ <div class='span12'>
+ <form action='' class='form-stacked'>
+ <fieldset>
+ <legend>Example form legend</legend>
+ <div class='clearfix'>
+ <label for='xlInput3'>X-Large input</label>
+ <div class='input'>
+ <input class='xlarge' id='xlInput3' name='xlInput3' size='30' type='text' />
+ </div>
+ </div>
+ <!-- /clearfix -->
+ <div class='clearfix'>
+ <label for='stackedSelect'>Select</label>
+ <div class='input'>
+ <select id='stackedSelect' name='stackedSelect'>
+ <option>1</option>
+ <option>2</option>
+ <option>3</option>
+ <option>4</option>
+ <option>5</option>
+ </select>
+ </div>
+ </div>
+ <!-- /clearfix -->
+ </fieldset>
+ <fieldset>
+ <legend>Example form legend</legend>
+ <div class='clearfix error'>
+ <label for='xlInput4'>X-Large input</label>
+ <div class='input'>
+ <input class='xlarge error' id='xlInput4' name='xlInput4' size='30' type='text' />
+ <span class='help-inline'>Small snippet of help text</span>
+ </div>
+ </div>
+ <!-- /clearfix -->
+ <div class='clearfix'>
+ <label id='optionsCheckboxes'>List of options</label>
+ <div class='input'>
+ <ul class='inputs-list'>
+ <li>
+ <label>
+ <input name='optionsCheckboxes' type='checkbox' value='option1' />
+ <span>Option one is this and that&mdash;be sure to include why it’s great</span>
+ </label>
+ </li>
+ <li>
+ <label>
+ <input name='optionsCheckboxes' type='checkbox' value='option2' />
+ <span>Option two can also be checked and included in form results</span>
+ </label>
+ </li>
+ </ul>
+ <span class='help-block'>
+ <strong>Note:</strong>
+ Labels surround all the options for much larger click areas and a more usable form.
+ </span>
+ </div>
+ </div>
+ <!-- /clearfix -->
+ </fieldset>
+ <div class='actions'><button class='btn primary' type='submit'>Save changes</button>&nbsp;
+ <button class='btn' type='reset'>Cancel</button>
+ </div>
+ </form>
+ </div>
+ </div>
+ <!-- /row -->
+ <div class='row'>
+ <div class='span4'>
+ <h2>Form field sizes</h2>
+ <p>
+ Customize any form
+ <code>input</code>,
+ <code>select</code>,
+ or
+ <code>textarea</code>
+ width by adding just a few classes to your markup.
+ </p>
+ <p>
+ As of v1.3.0, we have added the grid-based sizing classes for form elements.
+ <strong>
+ Please use the these over the existing
+ <code>.mini</code>,
+ <code>.small</code>,
+ etc classes.
+ </strong>
+ </p>
+ </div>
+ <div class='span12'>
+ <form action=''>
+ <div class='clearfix'>
+ <input class='span2' id='' name='' placeholder='.span2' type='text' />
+ </div>
+ <div class='clearfix'>
+ <input class='span3' id='' name='' placeholder='.span3' type='text' />
+ </div>
+ <div class='clearfix'>
+ <input class='span4' id='' name='' placeholder='.span4' type='text' />
+ </div>
+ <div class='clearfix'>
+ <input class='span5' id='' name='' placeholder='.span5' type='text' />
+ </div>
+ <div class='clearfix'>
+ <input class='span6' id='' name='' placeholder='.span6' type='text' />
+ </div>
+ <div class='clearfix'>
+ <input class='span7' id='' name='' placeholder='.span7' type='text' />
+ </div>
+ <div class='clearfix'>
+ <input class='span8' id='' name='' placeholder='.span8' type='text' />
+ </div>
+ <div class='clearfix'>
+ <input class='span9' id='' name='' placeholder='.span9' type='text' />
+ </div>
+ <div class='clearfix'>
+ <input class='span10' id='' name='' placeholder='.span10' type='text' />
+ </div>
+ <div class='clearfix'>
+ <input class='span11' id='' name='' placeholder='.span11' type='text' />
+ </div>
+ <div class='clearfix'>
+ <input class='span12' id='' name='' placeholder='.span12' type='text' />
+ </div>
+ </form>
+ </div>
+ </div>
+ <div class='row'>
+ <div class='span4'>
+ <h2>Buttons</h2>
+ <p>As a convention, buttons are used for actions while links are used for objects. For instance, "Download" could be a button and "recent activity" could be a link.</p>
+ <p>
+ All buttons default to a light gray style, but a number of functional classes can be applied for different color styles. These classes include a blue
+ <code>.primary</code>
+ class, a light-blue
+ <code>.info</code>
+ class, a green
+ <code>.success</code>
+ class, and a red
+ <code>.danger</code>
+ class.
+ </p>
+ </div>
+ <div class='span12'>
+ <h3>Example buttons</h3>
+ <p>
+ Button styles can be applied to anything with the
+ <code>.btn</code>
+ applied. Typically you’ll want to apply these to only
+ <code>&lt;a&gt;</code>,
+ <code>&lt;button&gt;</code>,
+ and select
+ <code>&lt;input&gt;</code>
+ elements. Here’s how it looks:
+ </p>
+ <div class='well' style='padding: 14px 19px;'><button class='btn primary'>Primary</button>&nbsp;<button class='btn'>Default</button>&nbsp;<button class='btn info'>Info</button>&nbsp;<button class='btn success'>Success</button>&nbsp;
+ <button class='btn danger'>Danger</button>
+ </div>
+ <h3>Alternate sizes</h3>
+ <p>Fancy larger or smaller buttons? Have at it!</p>
+ <div class='well'>
+ <a class='btn large primary' href='#'>Primary action</a>
+ <a class='btn large' href='#'>Action</a>
+ </div>
+ <div class='well' style='padding: 16px 19px;'>
+ <a class='btn small primary' href='#'>Primary action</a>
+ <a class='btn small' href='#'>Action</a>
+ </div>
+ <h3>Disabled state</h3>
+ <p>
+ For buttons that are not active or are disabled by the app for one reason or another, use the disabled state. That’s
+ <code>.disabled</code>
+ for links and
+ <code>:disabled</code>
+ for
+ <code>&lt;button&gt;</code>
+ elements.
+ </p>
+ <h4>Links</h4>
+ <div class='well'>
+ <a class='btn large primary disabled' href='#'>Primary action</a>
+ <a class='btn large disabled' href='#'>Action</a>
+ </div>
+ <h4>Buttons</h4>
+ <div class='well'><button class='btn large primary disabled' disabled='disabled'>Primary action</button>&nbsp;
+ <button class='btn large' disabled=''>Action</button>
+ </div>
+ </div>
+ </div>
+ <!-- /row -->
+ <!--
+ Navigation
+ ==================================================
+ -->
+ <section id='navigation'></section>
+ <div class='page-header'>
+ <h1>Navigation</h1>
+ </div>
+ <h2>Fixed topbar</h2>
+ <div class='topbar-wrapper' style='z-index: 5;'>
+ <div class='topbar' data-dropdown='dropdown'>
+ <div class='topbar-inner'>
+ <div class='container'>
+ <h3>
+ <a href='#'>Project Name</a>
+ </h3>
+ <ul class='nav'>
+ <li class='active'>
+ <a href='#'>Home</a>
+ </li>
+ <li>
+ <a href='#'>Link</a>
+ </li>
+ <li>
+ <a href='#'>Link</a>
+ </li>
+ <li>
+ <a href='#'>Link</a>
+ </li>
+ <li class='dropdown'>
+ <a class='dropdown-toggle' href='#'>Dropdown</a>
+ <ul class='dropdown-menu'>
+ <li>
+ <a href='#'>Secondary link</a>
+ </li>
+ <li>
+ <a href='#'>Something else here</a>
+ </li>
+ <li class='divider'></li>
+ <li>
+ <a href='#'>Another link</a>
+ </li>
+ </ul>
+ </li>
+ </ul>
+ <form action='' class='pull-left'>
+ <input placeholder='Search' type='text' />
+ </form>
+ <ul class='nav secondary-nav'>
+ <li class='dropdown'>
+ <a class='dropdown-toggle' href='#'>Dropdown</a>
+ <ul class='dropdown-menu'>
+ <li>
+ <a href='#'>Secondary link</a>
+ </li>
+ <li>
+ <a href='#'>Something else here</a>
+ </li>
+ <li class='divider'></li>
+ <li>
+ <a href='#'>Another link</a>
+ </li>
+ </ul>
+ </li>
+ </ul>
+ </div>
+ </div>
+ <!-- /topbar-inner -->
+ </div>
+ <!-- /topbar -->
+ </div>
+ <!-- /topbar-wrapper -->
+ <div class='row'>
+ <div class='span5'>
+ <h4>What is it</h4>
+ <p>Our topbar is a fixed bar that houses a website’s logo or name, primary navigation, and search form.</p>
+ </div>
+ <div class='span5'>
+ <h4>Customizable</h4>
+ <p>All elements within, and the entire topbar as well, are optional. You can choose to include a logo/name, nav, search, and a secondary nav&mdash;or any combination of that.</p>
+ </div>
+ <div class='span6'>
+ <h4>Dropdowns included</h4>
+ <p>
+ As part of the main navigation, we’ve included the ability for you to add dropdowns to your nav. Check out the secondary nav above (right aligned) to see how it’s done. Dropdowns
+ <code>li</code>
+ tags also support
+ <code>.active</code>
+ for showing current page selection.
+ </p>
+ </div>
+ </div>
+ <p>
+ <strong>Note:</strong>
+ When using the topbar on any page, be sure to account for the overlap it causes by adding
+ <code>padding-top: 40px;</code>
+ to your
+ <code>body</code>.
+ </p>
+ <br />
+ <div class='row'>
+ <div class='span4'>
+ <h2>Tabs and pills</h2>
+ <p>
+ Create simple secondary navigation with a
+ <code>&lt;ul&gt;</code>.
+ Swap between tabs or pills by adding the appropriate class.
+ </p>
+ <p>Great for sub-sections of content like our account settings pages and user timelines for toggling between pages of like content. Available in tabbed or pill styles.</p>
+ </div>
+ <div class='span12'>
+ <h3>Basic tabs example</h3>
+ <p>
+ Tabs can be used as regular navigation (loading external pages in the same tab) or as tabbable content areas for swapping out panes of content. We have a
+ <a href='./javascript.html#tabs'>tabs plugin</a>
+ that can be used to integrate the latter.
+ </p>
+ <ul class='tabs'>
+ <li class='active'>
+ <a href='#'>Home</a>
+ </li>
+ <li>
+ <a href='#'>Profile</a>
+ </li>
+ <li>
+ <a href='#'>Messages</a>
+ </li>
+ <li>
+ <a href='#'>Settings</a>
+ </li>
+ <li>
+ <a href='#'>Contact</a>
+ </li>
+ <li class='dropdown' data-dropdown='dropdown'>
+ <a class='dropdown-toggle' href='#'>Dropdown</a>
+ <ul class='dropdown-menu'>
+ <li>
+ <a href='#'>Secondary link</a>
+ </li>
+ <li>
+ <a href='#'>Something else here</a>
+ </li>
+ <li class='divider'></li>
+ <li>
+ <a href='#'>Another link</a>
+ </li>
+ </ul>
+ </li>
+ </ul>
+ <h3>Basic pills example</h3>
+ <ul class='pills'>
+ <li class='active'>
+ <a href='#'>Home</a>
+ </li>
+ <li>
+ <a href='#'>Profile</a>
+ </li>
+ <li>
+ <a href='#'>Messages</a>
+ </li>
+ <li>
+ <a href='#'>Settings</a>
+ </li>
+ <li>
+ <a href='#'>Contact</a>
+ </li>
+ </ul>
+ </div>
+ </div>
+ <!-- /row -->
+ <!-- Breadcrumbs -->
+ <div class='row'>
+ <div class='span4'>
+ <h2>Breadcrumbs</h2>
+ <p>Breadcrumb navigation is used as a way to show users where they are within an app or a site, but not for primary navigation.</p>
+ </div>
+ <div class='span12'>
+ <ul class='breadcrumb'>
+ <li class='active'>Home</li>
+ </ul>
+ <ul class='breadcrumb'>
+ <li>
+ <a href='#'>Home</a>
+ <span class='divider'>/</span>
+ </li>
+ <li class='active'>Middle page</li>
+ </ul>
+ <ul class='breadcrumb'>
+ <li>
+ <a href='#'>Home</a>
+ <span class='divider'>/</span>
+ </li>
+ <li>
+ <a href='#'>Middle page</a>
+ <span class='divider'>/</span>
+ </li>
+ <li class='active'>Another one</li>
+ </ul>
+ <ul class='breadcrumb'>
+ <li>
+ <a href='#'>Home</a>
+ <span class='divider'>/</span>
+ </li>
+ <li>
+ <a href='#'>Middle page</a>
+ <span class='divider'>/</span>
+ </li>
+ <li>
+ <a href='#'>Another one</a>
+ <span class='divider'>/</span>
+ </li>
+ <li class='active'>You are here</li>
+ </ul>
+ </div>
+ </div>
+ <!-- Pagination -->
+ <div class='row'>
+ <div class='span4'>
+ <h2>Pagination</h2>
+ <p>Ultra simplistic and minimally styled pagination inspired by Rdio. The large block is hard to miss, easily scalable, and provides large click areas.</p>
+ </div>
+ <div class='span12'>
+ <div class='pagination'>
+ <ul>
+ <li class='prev disabled'>
+ <a href='#'>&larr; Previous</a>
+ </li>
+ <li class='active'>
+ <a href='#'>1</a>
+ </li>
+ <li>
+ <a href='#'>2</a>
+ </li>
+ <li>
+ <a href='#'>3</a>
+ </li>
+ <li>
+ <a href='#'>4</a>
+ </li>
+ <li>
+ <a href='#'>5</a>
+ </li>
+ <li class='next'>
+ <a href='#'>Next &rarr;</a>
+ </li>
+ </ul>
+ </div>
+ <div class='pagination'>
+ <ul>
+ <li class='prev'>
+ <a href='#'>&larr; Previous</a>
+ </li>
+ <li class='active'>
+ <a href='#'>10</a>
+ </li>
+ <li>
+ <a href='#'>11</a>
+ </li>
+ <li>
+ <a href='#'>12</a>
+ </li>
+ <li class='disabled'>
+ <a href='#'>…</a>
+ </li>
+ <li>
+ <a href='#'>19</a>
+ </li>
+ <li>
+ <a href='#'>20</a>
+ </li>
+ <<