index.html 74.6 KB
Newer Older
Mark Otto's avatar
Mark Otto committed
1001
          <div class="clearfix">
1002
            <label for="prependedInput">Prepended text</label>
Mark Otto's avatar
Mark Otto committed
1003
1004
1005
1006
1007
1008
            <div class="input">
              <div class="input-prepend">
                <span class="add-on">@</span>
                <input class="medium" id="prependedInput" name="prependedInput" size="16" type="text" />
              </div>
            </div>
1009
          </div><!-- /clearfix -->
Mark Otto's avatar
Mark Otto committed
1010
          <div class="clearfix">
1011
            <label for="prependedInput2">Prepended checkbox</label>
Mark Otto's avatar
Mark Otto committed
1012
1013
1014
1015
1016
1017
            <div class="input">
              <div class="input-prepend">
                <label class="add-on"><input type="checkbox" name="" id="" value="" /></label>
                <input class="mini" id="prependedInput2" name="prependedInput2" size="16" type="text" />
              </div>
            </div>
1018
          </div><!-- /clearfix -->
Mark Otto's avatar
Mark Otto committed
1019
          <div class="clearfix">
1020
            <label for="appendedInput">Appended checkbox</label>
Mark Otto's avatar
Mark Otto committed
1021
1022
1023
1024
1025
1026
            <div class="input">
              <div class="input-append">
                <input class="mini" id="appendedInput" name="appendedInput" size="16" type="text" />
                <label class="add-on active"><input type="checkbox" name="" id="" value="" checked="checked" /></label>
              </div>
            </div>
1027
          </div><!-- /clearfix -->
Mark Otto's avatar
Mark Otto committed
1028
          <div class="clearfix">
1029
            <label for="fileInput">File input</label>
Mark Otto's avatar
Mark Otto committed
1030
1031
1032
            <div class="input">
              <input class="input-file" id="fileInput" name="fileInput" type="file" />
            </div>
1033
          </div><!-- /clearfix -->
Mark Otto's avatar
Mark Otto committed
1034
1035
1036
1037
        </fieldset>
        <fieldset>
          <legend>Example form legend</legend>
          <div class="clearfix">
1038
            <label id="optionsCheckboxes">List of options</label>
Mark Otto's avatar
Mark Otto committed
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
            <div class="input">
              <ul class="inputs-list">
                <li>
                  <label>
                    <input type="checkbox" name="optionsCheckboxes" value="option1" />
                    <span>Option one is this and that&mdash;be sure to include why it’s great</span>
                  </label>
                </li>
                <li>
                  <label>
                    <input type="checkbox" name="optionsCheckboxes" value="option2" />
                    <span>Option two can also be checked and included in form results</span>
                  </label>
                </li>
                <li>
                  <label>
                    <input type="checkbox" name="optionsCheckboxes" value="option2" />
                    <span>Option three can&mdash;yes, you guessed it&mdash;also be checked and included in form results</span>
                  </label>
                </li>
                <li>
                  <label class="disabled">
                    <input type="checkbox" name="optionsCheckboxes" value="option2" disabled />
                    <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>
1070
          </div><!-- /clearfix -->
Mark Otto's avatar
Mark Otto committed
1071
          <div class="clearfix">
1072
            <label>Date range</label>
Mark Otto's avatar
Mark Otto committed
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
            <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-inline">All times are shown as Pacific Standard Time (GMT -08:00).</span>
              </div>
            </div>
1083
          </div><!-- /clearfix -->
Mark Otto's avatar
Mark Otto committed
1084
1085
1086
          <div class="clearfix">
            <label for="textarea">Textarea</label>
            <div class="input">
1087
              <textarea class="xxlarge" id="textarea2" name="textarea2" rows="3"></textarea>
Mark Otto's avatar
Mark Otto committed
1088
1089
1090
1091
              <span class="help-block">
                Block of help text to describe the field above if need be.
              </span>
            </div>
1092
          </div><!-- /clearfix -->
Mark Otto's avatar
Mark Otto committed
1093
          <div class="clearfix">
1094
            <label id="optionsRadio">List of options</label>
Mark Otto's avatar
Mark Otto committed
1095
1096
1097
1098
            <div class="input">
              <ul class="inputs-list">
                <li>
                  <label>
1099
                    <input type="radio" checked name="optionsRadios" value="option1" />
Mark Otto's avatar
Mark Otto committed
1100
1101
1102
1103
1104
                    <span>Option one is this and that&mdash;be sure to include why it’s great</span>
                  </label>
                </li>
                <li>
                  <label>
1105
1106
                    <input type="radio" name="optionsRadios" value="option2" />
                    <span>Option two can is something else and selecting it will deselect options 1</span>
Mark Otto's avatar
Mark Otto committed
1107
1108
1109
1110
                  </label>
                </li>
              </ul>
            </div>
1111
          </div><!-- /clearfix -->
Mark Otto's avatar
Mark Otto committed
1112
          <div class="actions">
1113
            <input type="submit" class="btn primary" value="Save changes">&nbsp;<button type="reset" class="btn">Cancel</button>
1114
          </div>
Mark Otto's avatar
Mark Otto committed
1115
        </fieldset>
Jacob Thornton's avatar
Jacob Thornton committed
1116
      </form>
1117
    </div>
1118
  </div><!-- /row -->
1119

Mark Otto's avatar
Mark Otto committed
1120
  <br />
1121

Mark Otto's avatar
Mark Otto committed
1122
  <div class="row">
Mark Otto's avatar
Mark Otto committed
1123
    <div class="span4">
Mark Otto's avatar
Mark Otto committed
1124
1125
      <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>
1126
    </div>
Mark Otto's avatar
Mark Otto committed
1127
    <div class="span12">
Mark Otto's avatar
Mark Otto committed
1128
1129
1130
1131
      <form action="" class="form-stacked">
        <fieldset>
          <legend>Example form legend</legend>
          <div class="clearfix">
1132
            <label for="xlInput3">X-Large input</label>
Mark Otto's avatar
Mark Otto committed
1133
            <div class="input">
1134
              <input class="xlarge" id="xlInput3" name="xlInput3" size="30" type="text" />
Mark Otto's avatar
Mark Otto committed
1135
            </div>
1136
          </div><!-- /clearfix -->
Mark Otto's avatar
Mark Otto committed
1137
          <div class="clearfix">
1138
            <label for="stackedSelect">Select</label>
Mark Otto's avatar
Mark Otto committed
1139
            <div class="input">
1140
              <select name="stackedSelect" id="stackedSelect">
Mark Otto's avatar
Mark Otto committed
1141
1142
1143
1144
1145
1146
1147
                <option>1</option>
                <option>2</option>
                <option>3</option>
                <option>4</option>
                <option>5</option>
              </select>
            </div>
1148
          </div><!-- /clearfix -->
Mark Otto's avatar
Mark Otto committed
1149
1150
1151
        </fieldset>
        <fieldset>
          <legend>Example form legend</legend>
1152
          <div class="clearfix error">
1153
            <label for="xlInput4">X-Large input</label>
1154
            <div class="input">
1155
              <input class="xlarge error" id="xlInput4" name="xlInput4" size="30" type="text" />
1156
1157
              <span class="help-inline">Small snippet of help text</span>
            </div>
1158
          </div><!-- /clearfix -->
Mark Otto's avatar
Mark Otto committed
1159
          <div class="clearfix">
1160
            <label id="optionsCheckboxes">List of options</label>
Mark Otto's avatar
Mark Otto committed
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
            <div class="input">
              <ul class="inputs-list">
                <li>
                  <label>
                    <input type="checkbox" name="optionsCheckboxes" value="option1" />
                    <span>Option one is this and that&mdash;be sure to include why it’s great</span>
                  </label>
                </li>
                <li>
                  <label>
                    <input type="checkbox" name="optionsCheckboxes" 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>
1180
          </div><!-- /clearfix -->
Mark Otto's avatar
Mark Otto committed
1181
1182
        </fieldset>
        <div class="actions">
1183
          <button type="submit" class="btn primary">Save changes</button>&nbsp;<button type="reset" class="btn">Cancel</button>
Mark Otto's avatar
Mark Otto committed
1184
1185
        </div>
      </form>
1186
    </div>
1187
  </div><!-- /row -->
Mark Otto's avatar
Mark Otto committed
1188

1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
  <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="" type="text" placeholder=".span2" /></div>
        <div class="clearfix"><input class="span3" id="" name="" type="text" placeholder=".span3" /></div>
        <div class="clearfix"><input class="span4" id="" name="" type="text" placeholder=".span4" /></div>
        <div class="clearfix"><input class="span5" id="" name="" type="text" placeholder=".span5" /></div>
        <div class="clearfix"><input class="span6" id="" name="" type="text" placeholder=".span6" /></div>
        <div class="clearfix"><input class="span7" id="" name="" type="text" placeholder=".span7" /></div>
        <div class="clearfix"><input class="span8" id="" name="" type="text" placeholder=".span8" /></div>
        <div class="clearfix"><input class="span9" id="" name="" type="text" placeholder=".span9" /></div>
        <div class="clearfix"><input class="span10" id="" name="" type="text" placeholder=".span10" /></div>
        <div class="clearfix"><input class="span11" id="" name="" type="text" placeholder=".span11" /></div>
        <div class="clearfix"><input class="span12" id="" name="" type="text" placeholder=".span12" /></div>
      </form>
    </div>
  </div>

Mark Otto's avatar
Mark Otto committed
1212
  <div class="row">
Mark Otto's avatar
Mark Otto committed
1213
    <div class="span4">
Mark Otto's avatar
Mark Otto committed
1214
1215
      <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>
1216
      <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>
1217
    </div>
Mark Otto's avatar
Mark Otto committed
1218
    <div class="span12">
Mark Otto's avatar
Mark Otto committed
1219
1220
1221
      <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;">
Jacob Thornton's avatar
Jacob Thornton committed
1222
        <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>
Mark Otto's avatar
Mark Otto committed
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
      </div>
      <h3>Alternate sizes</h3>
      <p>Fancy larger or smaller buttons? Have at it!</p>
      <div class="well">
        <a href="#" class="btn large primary">Primary action</a>
        <a href="#" class="btn large">Action</a>
      </div>
      <div class="well" style="padding: 16px 19px;">
        <a href="#" class="btn small primary">Primary action</a>
        <a href="#" class="btn small">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 href="#" class="btn large primary disabled">Primary action</a>
        <a href="#" class="btn large disabled">Action</a>
      </div>
      <h4>Buttons</h4>
      <div class="well">
1243
        <button class="btn large primary disabled" disabled="disabled">Primary action</button>&nbsp;<button class="btn large" disabled>Action</button>
Mark Otto's avatar
Mark Otto committed
1244
      </div>
1245
    </div>
1246
  </div><!-- /row -->
1247
1248
1249
1250
</section>



Mark Otto's avatar
Mark Otto committed
1251
1252
<!-- Navigation
================================================== -->
1253
<section id="navigation">
Mark Otto's avatar
Mark Otto committed
1254
1255
1256
1257
  <div class="page-header">
    <h1>Navigation</h1>
  </div>
  <h2>Fixed topbar</h2>
1258
  <div class="topbar-wrapper" style="z-index: 5;">
Mark Otto's avatar
Mark Otto committed
1259
    <div class="topbar">
1260
      <div class="topbar-inner">
1261
        <div class="container">
Jacob Thornton's avatar
Jacob Thornton committed
1262
          <h3><a href="#">Project Name</a></h3>
1263
          <ul class="nav">
Jacob Thornton's avatar
Jacob Thornton committed
1264
1265
1266
1267
            <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>
Mark Otto's avatar
Mark Otto committed
1268
            <li class="dropdown">
1269
1270
              <a href="#" class="dropdown-toggle">Dropdown</a>
              <ul class="dropdown-menu">
1271
                <li><a href="#">Secondary link</a></li>
1272
1273
1274
1275
1276
                <li><a href="#">Something else here</a></li>
                <li class="divider"></li>
                <li><a href="#">Another link</a></li>
              </ul>
            </li>
Jacob Thornton's avatar
Jacob Thornton committed
1277
          </ul>
Mark Otto's avatar
Mark Otto committed
1278
          <form class="pull-left" action="">
Jacob Thornton's avatar
Jacob Thornton committed
1279
1280
1281
            <input type="text" placeholder="Search" />
          </form>
          <ul class="nav secondary-nav">
1282
1283
1284
            <li class="dropdown">
              <a href="#" class="dropdown-toggle">Dropdown</a>
              <ul class="dropdown-menu">
Jacob Thornton's avatar
Jacob Thornton committed
1285
1286
1287
1288
1289
1290
1291
1292
                <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>
1293
      </div><!-- /topbar-inner -->
1294
1295
    </div><!-- /topbar -->
  </div><!-- /topbar-wrapper -->
1296

Mark Otto's avatar
Mark Otto committed
1297
  <div class="row">
Mark Otto's avatar
Mark Otto committed
1298
    <div class="span5">
1299
      <h4>What is it</h4>
1300
      <p>Our topbar is a fixed bar that houses a website’s logo or name, primary navigation, and search form.</p>
Mark Otto's avatar
Mark Otto committed
1301
    </div>
Mark Otto's avatar
Mark Otto committed
1302
    <div class="span5">
1303
1304
1305
      <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>
Mark Otto's avatar
Mark Otto committed
1306
    <div class="span6">
1307
      <h4>Dropdowns included</h4>
1308
      <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>
Mark Otto's avatar
Mark Otto committed
1309
1310
    </div>
  </div>
1311
  <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>
Mark Otto's avatar
Mark Otto committed
1312
1313

  <br />
1314

1315
  <div class="row">
Mark Otto's avatar
Mark Otto committed
1316
    <div class="span4">
1317
1318
1319
1320
      <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>
Mark Otto's avatar
Mark Otto committed
1321
    <div class="span12">
1322
1323
1324
1325
1326
1327
      <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>
1328
1329
1330
1331
1332
1333
1334
1335
1336
        <li class="dropdown">
          <a href="#" class="dropdown-toggle">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>
1337
      </ul>
1338
<pre class="prettyprint linenums">
1339
&lt;ul class="tabs"&gt;
Mark Otto's avatar
Mark Otto committed
1340
1341
1342
1343
1344
  &lt;li class="active"&gt;&lt;a href="#"&gt;Home&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href="#"&gt;Profile&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href="#"&gt;Messages&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href="#"&gt;Settings&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href="#"&gt;Contact&lt;/a&gt;&lt;/li&gt;
1345
1346
&lt;/ul&gt;
</pre>
1347
1348
1349
1350
1351
1352
1353
      <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>
1354
<pre class="prettyprint linenums">
1355
&lt;ul class="pills"&gt;
Mark Otto's avatar
Mark Otto committed
1356
1357
1358
1359
1360
  &lt;li class="active"&gt;&lt;a href="#"&gt;Home&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href="#"&gt;Profile&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href="#"&gt;Messages&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href="#"&gt;Settings&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href="#"&gt;Contact&lt;/a&gt;&lt;/li&gt;
1361
1362
1363
&lt;/ul&gt;
</pre>
    </div>
1364
  </div><!-- /row -->
1365

Mark Otto's avatar
Mark Otto committed
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
  <!-- 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>

1394
1395
  <!-- Pagination -->
  <div class="row">
Mark Otto's avatar
Mark Otto committed
1396
    <div class="span4">
1397
1398
      <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>
1399
    </div>
Mark Otto's avatar
Mark Otto committed
1400
    <div class="span12">
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
      <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>
          <li><a href="#">21</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><a href="#">10</a></li>
          <li><a href="#">11</a></li>
          <li><a href="#">12</a></li>
          <li><a href="#">13</a></li>
          <li><a href="#">14</a></li>
          <li class="active"><a href="#">15</a></li>
          <li><a href="#">16</a></li>
          <li><a href="#">17</a></li>
          <li><a href="#">18</a></li>
          <li><a href="#">19</a></li>
          <li><a href="#">20</a></li>
          <li class="next"><a href="#">Next &rarr;</a></li>
        </ul>
      </div>
1442
<pre class="prettyprint linenums">
1443
1444
&lt;div class="pagination"&gt;
  &lt;ul&gt;
Mark Otto's avatar
Mark Otto committed
1445
1446
1447
1448
1449
1450
1451
    &lt;li class="prev disabled"&gt;&lt;a href="#"&gt;&amp;larr; Previous&lt;/a&gt;&lt;/li>
    &lt;li class="active"&gt;&lt;a href="#"&gt;1&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="#"&gt;2&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="#"&gt;3&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="#"&gt;4&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="#"&gt;5&lt;/a&gt;&lt;/li&gt;
    &lt;li class="next"&gt;&lt;a href="#"&gt;Next &amp;rarr;&lt;/a&gt;&lt;/li>
1452
1453
1454
  &lt;/ul&gt;
&lt;/div&gt;
</pre>
1455
    </div>
1456
  </div><!-- /row -->
1457
1458
1459
1460
1461

</section>



Mark Otto's avatar
Mark Otto committed
1462
1463
<!-- Alerts & Messages
================================================== -->
1464
1465
<section id="alerts">
  <div class="page-header">
1466
1467
    <h1>Alerts &amp; Errors <small>Styles for success, warning, and error messages or alerts</small></h1>
  </div>
1468
  <!-- Basic alert messages -->
1469
  <div class="row">
Mark Otto's avatar
Mark Otto committed
1470
    <div class="span4">
1471
      <h2>Basic alerts</h2>
1472
      <p><code>div.alert-message</code></p>
1473
1474
      <p>One-line messages for highlighting the failure, possible failure, or success of an action. Particularly useful for forms.</p>
    </div>
Mark Otto's avatar
Mark Otto committed
1475
    <div class="span12">
1476
1477
      <div class="alert-message warning">
        <a class="close" href="#">&times;</a>
1478
        <p><strong>Holy guacamole!</strong> Best check yo self, you’re not looking too good.</p>
1479
      </div>
1480
      <div class="alert-message error">
1481
        <a class="close" href="#">&times;</a>
1482
        <p><strong>Oh snap!</strong> Change this and that and try again.</p>
1483
1484
1485
1486
1487
1488
1489
      </div>
      <div class="alert-message success">
        <a class="close" href="#">&times;</a>
        <p><strong>Well done!</strong> You successfully read this alert message.</p>
      </div>
      <div class="alert-message info">
        <a class="close" href="#">&times;</a>
1490
        <p><strong>Heads up!</strong> This is an alert that needs your attention, but it’s not a huge priority just yet.</p>
1491
1492
      </div>
    </div>
1493
  </div><!-- /row -->
1494
  <!-- Block messages -->
1495
  <div class="row">
Mark Otto's avatar
Mark Otto committed
1496
    <div class="span4">
1497
      <h2>Block messages</h2>
1498
      <p><code>div.alert-message.block-message</code></p>
1499
1500
      <p>For messages that require a bit of explanation, we have paragraph style alerts. These are perfect for bubbling up longer error messages, warning a user of a pending action, or just presenting information for more emphasis on the page.</p>
    </div>
Mark Otto's avatar
Mark Otto committed
1501
    <div class="span12">
1502
1503
      <div class="alert-message block-message warning">
        <a class="close" href="#">&times;</a>
1504
        <p><strong>Holy guacamole! This is a warning!</strong> Best check yo self, you’re not looking too good. Nulla vitae elit libero, a pharetra augue. Praesent commodo cursus magna, vel scelerisque nisl consectetur et.</p>
1505
1506
1507
        <div class="alert-actions">
          <a class="btn small" href="#">Take this action</a> <a class="btn small" href="#">Or do this</a>
        </div>
1508
      </div>
1509
      <div class="alert-message block-message error">
1510
        <a class="close" href="#">&times;</a>
1511
1512
1513
1514
1515
1516
        <p><strong>Oh snap! You got an error!</strong> Change this and that and try again.</p>
        <ul>
          <li>Duis mollis est non commodo luctus</li>
          <li>Nisi erat porttitor ligula</li>
          <li>Eget lacinia odio sem nec elit</li>
        </ul>
1517
1518
1519
        <div class="alert-actions">
          <a class="btn small" href="#">Take this action</a> <a class="btn small" href="#">Or do this</a>
        </div>
1520
1521
1522
1523
      </div>
      <div class="alert-message block-message success">
        <a class="close" href="#">&times;</a>
        <p><strong>Well done!</strong> You successfully read this alert message. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Maecenas faucibus mollis interdum.</p>
1524
1525
1526
        <div class="alert-actions">
          <a class="btn small" href="#">Take this action</a> <a class="btn small" href="#">Or do this</a>
        </div>
1527
1528
1529
      </div>
      <div class="alert-message block-message info">
        <a class="close" href="#">&times;</a>
1530
        <p><strong>Heads up!</strong> This is an alert that needs your attention, but it’s not a huge priority just yet.</p>
1531
1532
1533
        <div class="alert-actions">
          <a class="btn small" href="#">Take this action</a> <a class="btn small" href="#">Or do this</a>
        </div>
1534
1535
      </div>
    </div>
1536
  </div><!-- /row -->
1537
1538
1539
</section>


Mark Otto's avatar
Mark Otto committed
1540
1541
<!-- Popovers
================================================== -->
Mark Otto's avatar
Mark Otto committed
1542
<section id="popovers">
Jacob Thornton's avatar
Jacob Thornton committed
1543
  <div class="page-header">
Mark Otto's avatar
Mark Otto committed
1544
    <h1>Popovers <small>Components for displaying content in modals, tooltips, and popovers</small></h1>
Jacob Thornton's avatar
Jacob Thornton committed
1545
1546
  </div>
  <div class="row">
Mark Otto's avatar
Mark Otto committed
1547
    <div class="span4">
Mark Otto's avatar
Mark Otto committed
1548
      <h2>Modals</h2>
1549
      <p>Modals&mdash;dialogs or lightboxes&mdash;are great for contextual actions in situations where it’s important that the background context be maintained.</p>
Jacob Thornton's avatar
Jacob Thornton committed
1550
    </div>
Mark Otto's avatar
Mark Otto committed
1551
    <div class="span12">
Jacob Thornton's avatar
Jacob Thornton committed
1552
      <div class="well" style="background-color: #888; border: none; padding: 40px;">
1553
        <!-- Modal -->
1554
        <div class="modal" style="position: relative; top: auto; left: auto; margin: 0 auto; z-index: 1">
Jacob Thornton's avatar
Jacob Thornton committed
1555
1556
          <div class="modal-header">
            <a href="#" class="close">&times;</a>
1557
            <h3>Modal Heading</h3>
Jacob Thornton's avatar
Jacob Thornton committed
1558
1559
          </div>
          <div class="modal-body">
1560
            <p>One fine body…</p>
Jacob Thornton's avatar
Jacob Thornton committed
1561
1562
          </div>
          <div class="modal-footer">
Mark Otto's avatar
Mark Otto committed
1563
            <a href="#" class="btn secondary">Secondary</a>
Mark Otto's avatar
Mark Otto committed
1564
            <a href="#" class="btn primary">Primary</a>
Jacob Thornton's avatar
Jacob Thornton committed
1565
1566
1567
          </div>
        </div>
      </div>
1568
    </div>
1569
  </div><!-- /row -->
1570

1571
  <!-- Tooltips -->
1572
  <div class="row">
Mark Otto's avatar
Mark Otto committed
1573
    <div class="span4">
Jacob Thornton's avatar
Jacob Thornton committed
1574
      <h2>Tooltips</h2>
1575
1576
      <p>Twipsies are super useful for aiding a confused user and pointing them in the right direction.</p>
    </div>
Mark Otto's avatar
Mark Otto committed
1577
    <div class="span12">
1578
1579
1580
      <div class="twipsies well">
        <div style="position: relative">
          <p class="muted" style="margin-bottom: 0">
Jacob Thornton's avatar
Jacob Thornton committed
1581
Lorem ipsum dolar sit amet illo error <a href="#" title="below">ipsum</a> veritatis aut iste perspiciatis iste voluptas natus illo quasi odit aut natus consequuntur consequuntur, aut natus illo voluptatem odit perspiciatis laudantium rem doloremque totam voluptas. <a href="#" title="right">Voluptasdicta</a> eaque beatae aperiam ut enim voluptatem explicabo explicabo, voluptas quia odit fugit accusantium totam totam architecto explicabo sit quasi fugit fugit, totam doloremque unde sunt <a href="#" title="left">sed</a> dicta quae accusantium fugit voluptas nemo voluptas voluptatem <a href="#" title="above">rem</a> quae aut veritatis quasi quae.
1582
          </p>
Jacob Thornton's avatar
Jacob Thornton committed
1583
1584
1585
        </div>
      </div>
    </div>
1586
  </div><!-- /row -->
Jacob Thornton's avatar
Jacob Thornton committed
1587

1588
  <!-- Popovers -->
Mark Otto's avatar
Mark Otto committed
1589
  <div class="row">
Mark Otto's avatar
Mark Otto committed
1590
    <div class="span4">
Mark Otto's avatar
Mark Otto committed
1591
      <h2>Popovers</h2>
Mark Otto's avatar
Mark Otto committed
1592
      <p>Use popovers to provide subtextual information to a page without affecting layout.</p>
Mark Otto's avatar
Mark Otto committed
1593
    </div>
Mark Otto's avatar
Mark Otto committed
1594
    <div class="span12">
Mark Otto's avatar
Mark Otto committed
1595
      <div class="well popover-well">
Jacob Thornton's avatar
Jacob Thornton committed
1596
1597
         <div class="popover-wrapper">
          <div class="popover left">
Mark Otto's avatar
Mark Otto committed
1598
1599
            <div class="arrow"></div>
            <div class="inner">
Jacob Thornton's avatar
Jacob Thornton committed
1600
              <h3 class="title">Popover Title</h3>
Mark Otto's avatar
Mark Otto committed
1601
1602
1603
1604
1605
              <div class="content">
                <p>Etiam porta sem malesuada magna mollis euismod. Maecenas faucibus mollis interdum. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.</p>
              </div>
            </div>
          </div>
1606
          <img class="large-bird" src="assets/img/bird.png" width="220px" height="145px">
Mark Otto's avatar
Mark Otto committed
1607
1608
1609
        </div>
      </div>
    </div>
1610
  </div><!-- /row -->
Jacob Thornton's avatar
Jacob Thornton committed
1611
</section>
1612

Mark Otto's avatar
Mark Otto committed
1613

1614
1615
1616
1617
1618
1619
1620
1621
<!-- Using Javascript w/ Bootstrap
 ================================================== -->

 <section id="javascript">
   <div class="page-header">
     <h1>Using Javascript with Bootstrap <small>An index of plugins to get you started</small></h1>
   </div>
   <div class="row">
Mark Otto's avatar
Mark Otto committed
1622
     <div class="span4">
1623
       <h2>Getting started</h2>
1624
       <p>Integrating javascript with the Bootstrap library is super easy. Below we go over the basics and provide you with some awesome plugins to get you started!</p>
1625
1626
       <hr>
       <p><a class="btn primary" href="./javascript.html">Skip to Bootstrap plugins &raquo;</a></p>
1627
     </div>
Mark Otto's avatar
Mark Otto committed
1628
     <div class="span12">
1629
1630
      <h3>What's included</h3>
       <p>Bring some of Bootstrap's primary components to life with new custom plugins that work with <a href="http://jquery.com/" target="_blank">jQuery</a> and <a href="http://ender.no.de" target="_blank">Ender</a>. We encourage you to extend and modify them to fit your specific development needs.</p>
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
       <table class="zebra-striped">
         <thead>
           <tr>
             <th style="width: 150px;">File</th>
             <th>Description</th>
           </tr>
         </thead>
         <tbody>
           <tr>
             <td><a href="./javascript.html#modal">bootstrap-modal.js</a></td>
             <td>Our Modal plugin is a <strong>super</strong> slim take on the traditional modal js plugin! We took special care to include only the bare functionality that we require at twitter.</td>
           </tr>
           <tr>
             <td><a href="./javascript.html#alerts">bootstrap-alerts.js</a></td>
             <td>The alert plugin is a super tiny class for adding close functionality to alerts.</td>
           </tr>
           <tr>
             <td><a href="./javascript.html#dropdowns">bootstrap-dropdown.js</a></td>
Jacob Thornton's avatar
Jacob Thornton committed
1649
             <td>This plugin is for adding dropdown interaction to the bootstrap topbar or tabbed navigations.</td>
1650
           </tr>
1651
1652
1653
1654
           <tr>
             <td><a href="./javascript.html#scrollspy">bootstrap-scrollspy.js</a></td>
             <td>The ScrollSpy plugin is for adding an auto updating nav based on scroll position to the bootstrap topbar.</td>
           </tr>
1655
1656
           <tr>
             <td><a href="./javascript.html#tabs">bootstrap-tabs.js</a></td>
1657
             <td>This plugin adds quick, dynamic tab and pill functionality for cycling through local content.</td>
1658
           </tr>
1659
1660
           <tr>
             <td><a href="./javascript.html#twipsy">bootstrap-twipsy.js</a></td>
1661
             <td>Based on the excellent jQuery.tipsy plugin written by Jason Frame; twipsy is an updated version, which doesn't rely on images, uses css3 for animations, and data-attributes for local title storage!</td>
1662
1663
1664
1665
1666
1667
1668
           </tr>
           <tr>
             <td><a href="./javascript.html#popover">bootstrap-popover.js</a></td>
             <td>The popover plugin provides a simple interface for adding popovers to your application. It extends the <a href="#twipsy">boostrap-twipsy.js</a> plugin, so be sure to grab that file as well when including popovers in your project!</td>
           </tr>
         </tbody>
       </table>
1669
1670
1671
1672
       <h3>Is javascript necessary?</h3>
       <p><strong>Nope!</strong> Bootstrap is designed first and foremost to be a CSS library. This javascript provides a basic interactive layer on top of the included styles.</p>
       <p>However, for those who do need javascript, we've provided the plugins above to help you understand how to integrate Bootstrap with javascript and to give you a quick, lightweight option for the basic functionality right away.</p>
       <p>For more information and to see some live demos, please refer to our <a href="./javascript.html">plugin documentation page</a>.</p>
1673
1674
1675
     </div>
   </div>

Mark Otto's avatar
Mark Otto committed
1676

Mark Otto's avatar
Mark Otto committed
1677
1678
<!-- Using Bootstrap w/ Less
================================================== -->
1679
<section id="less">
Mark Otto's avatar
Mark Otto committed
1680
<div class="page-header">
1681
  <h1>Using Bootstrap with Less <small>Supercharge your CSS with variables, mixins, and functions</small></h1>
Mark Otto's avatar
Mark Otto committed
1682
1683
</div>
<div class="row">
Mark Otto's avatar
Mark Otto committed
1684
  <div class="span4">
1685
1686
    <p>Bootstrap was built with <a href="http://markdotto.com/bootstrap/">Preboot</a>, an open-source pack of mixins and variables to be used in conjunction with <a href="http://lesscss.org" target="_blank">Less</a>, a CSS preprocessor for faster and easier web development.</p>
    <p>Check out how we used Preboot in Bootstrap and how you can make use of it should you choose to run Less on your next project.</p>
Mark Otto's avatar
Mark Otto committed
1687
  </div>
Mark Otto's avatar
Mark Otto committed
1688
  <div class="span12">
Mark Otto's avatar
Mark Otto committed
1689
    <h2>How to use it</h2>
1690
    <p>Use this option to make full use of Bootstrap’s Less variables, mixins, and nesting in CSS via javascript in your browser.</p>
1691
<pre class="prettyprint linenums">
Jacob Thornton's avatar
Jacob Thornton committed
1692
&lt;link rel="stylesheet/less" href="less/bootstrap.less" media="all" /&gt;
Mark Otto's avatar
Mark Otto committed
1693
&lt;script src="js/less-1.1.3.min.js"&gt;&lt;/script&gt;</pre>
1694
<p>Not feeling the .js solution? <a href="http://incident57.com/less" target="_blank">Try the Less Mac app</a> or <a href="http://lesscss.org/#-client-side-usage" target="_blank">use Node.js</a> to compile when you deploy your code.</p>
Mark Otto's avatar
Mark Otto committed
1695

1696
1697
    <h2>What’s included</h2>
    <p>Here are some of the highlights of what’s included in Twitter Bootstrap as part of Bootstrap. Head over to the Bootstrap website or Github project page to download and learn more.</p>
1698
    <h3>Variables</h3>
1699
    <p>Variables in Less are perfect for maintaining and updating your CSS headache free. When you want to change a color value or a frequently used value, update it in one spot and you’re set.</p>
1700
<pre class="prettyprint linenums">
Mark Otto's avatar
Mark Otto committed
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
// Links
@linkColor:         #8b59c2;
@linkColorHover:    darken(@linkColor, 10);

// Grays
@black:             #000;
@grayDark:          lighten(@black, 25%);
@gray:              lighten(@black, 50%);
@grayLight:         lighten(@black, 70%);
@grayLighter:       lighten(@black, 90%);
@white:             #fff;

// Accent Colors
@blue:              #08b5fb;
@green:             #46a546;
@red:               #9d261d;
@yellow:            #ffc40d;
@orange:            #f89406;
@pink:              #c3325f;
@purple:            #7a43b6;

1722
1723
1724
// Baseline grid
@basefont:          13px;
@baseline:          18px;
Mark Otto's avatar
Mark Otto committed
1725
1726
1727
</pre>

<h3>Commenting</h3>
1728
<p>Less also provides another style of commenting in addition to CSS’s normal <code>/* ... */</code> syntax.</p>
1729
<pre class="prettyprint linenums">
Mark Otto's avatar
Mark Otto committed
1730
1731
1732
1733
1734
// This is a comment
/* This is also a comment */
</pre>

<h3>Mixins up the wazoo</h3>
1735
<p>Mixins are basically includes or partials for CSS, allowing you to combine a block of code into one. They’re great for vendor prefixed properties like <code>box-shadow</code>, cross-browser gradients, font stacks, and more. Below is a sample of the mixins that are included with Bootstrap.</p>
Mark Otto's avatar
Mark Otto committed
1736
<h4>Font stacks</h4>
1737
<pre class="prettyprint linenums">
Mark Otto's avatar
Mark Otto committed
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
#font {
  .shorthand(@weight: normal, @size: 14px, @lineHeight: 20px) {
    font-size: @size;
    font-weight: @weight;
    line-height: @lineHeight;
  }
  .sans-serif(@weight: normal, @size: 14px, @lineHeight: 20px) {
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: @size;
    font-weight: @weight;
    line-height: @lineHeight;
  }
1750
  ...
Mark Otto's avatar
Mark Otto committed
1751
1752
1753
}
</pre>
<h4>Gradients</h4>
1754
<pre class="prettyprint linenums">
Mark Otto's avatar
Mark Otto committed
1755
#gradient {
1756
  ...
Mark Otto's avatar
Mark Otto committed
1757
1758
1759
  .vertical (@startColor: #555, @endColor: #333) {
    background-color: @endColor;
    background-repeat: repeat-x;
1760
1761
1762
1763
1764
1765
1766
    background-image: -khtml-gradient(linear, left top, left bottom, from(@startColor), to(@endColor)); // Konqueror
    background-image: -moz-linear-gradient(@startColor, @endColor); // FF 3.6+
    background-image: -ms-linear-gradient(@startColor, @endColor); // IE10
    background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, @startColor), color-stop(100%, @endColor)); // Safari 4+, Chrome 2+
    background-image: -webkit-linear-gradient(@startColor, @endColor); // Safari 5.1+, Chrome 10+
    background-image: -o-linear-gradient(@startColor, @endColor); // Opera 11.10
    background-image: linear-gradient(@startColor, @endColor); // The standard
Mark Otto's avatar
Mark Otto committed
1767
  }
1768
  ...
Mark Otto's avatar
Mark Otto committed
1769
1770
1771
}
</pre>

1772
<h3>Operations</h3>
1773
<p>Get fancy and perform some math to generate flexible and powerful mixins like the one below.</p>
1774
<pre class="prettyprint linenums">
Mark Otto's avatar
Mark Otto committed
1775
1776
1777
1778
// Griditude
@gridColumns:       16;
@gridColumnWidth:   40px;
@gridGutterWidth:   20px;
1779
@siteWidth:         (@gridColumns * @gridColumnWidth) + (@gridGutterWidth * (@gridColumns - 1));
Mark Otto's avatar
Mark Otto committed
1780

1781
// Make some columns
Mark Otto's avatar
Mark Otto committed
1782
1783
1784
1785
.columns(@columnSpan: 1) {
  width: (@gridColumnWidth * @columnSpan) + (@gridGutterWidth * (@columnSpan - 1));
}
</pre>
1786
1787
1788
1789

    <h2>Compiling Less</h2>
    <p>After modifying the <code>.less</code> files in /lib/, you'll need to recompile them in order to regenerate the bootstrap-*.*.*.css and bootstrap-*.*.*.min.css files. If you're submitting a pull request to GitHub, you must always recompile.</p>
    <h3>Ways to compile</h3>
Mark Otto's avatar
Mark Otto committed
1790
    <table class="zebra-striped">
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
      <thead>
        <tr>
          <th style="width: 120px;">Method</th>
          <th>Steps</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>Node with makefile</td>
          <td>
1801
1802
1803
1804
            <p>Install the less command line compiler with npm by running the following command:</p>
            <pre>$ npm install lessc</pre>
            <p>Once installed just run <code>make</code> from the root of your bootstrap directory and you're all set.</p>
            <p>Additionally, if you have <a href="https://github.com/mynyml/watchr">watchr</a> installed, you may run <code>make watch</code> to have bootstrap automatically rebuilt every time you edit a file in the bootstrap lib (this isn't required, just a convenience method).</p>
1805
1806
1807
1808
          </td>
        </tr>
          <td>Javascript</td>
          <td>
1809
            <p><a href="http://lesscss.org/">Download the latest Less.js</a> and include the path to it (and Bootstrap) in the <code>head</code>.</p>
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
<pre class="prettyprint">
&lt;link rel="stylesheet/less" href="/path/to/bootstrap.less"&gt;
&lt;script src="/path/to/less.js"&gt;&lt;/script&gt;
</pre>
            <p>To recompile the .less files, just save them and reload your page. Less.js compiles them and stores them in local storage.</p>
          </td>
        </tr>
        <tr>
          <td>Command line</td>
          <td>
1820
            <p>If you already have the less command line tool installed, simply run the following command:</p>
1821
              <pre>$ lessc ./lib/bootstrap.less > bootstrap-1.3.0.css</pre>
1822
            <p>Be sure to include <code>--compress</code> in that command if you're trying to save some bytes!</p>
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
          </td>
        </tr>
        <tr>
          <td>Less Mac app</td>
          <td>
            <p><a href="http://incident57.com/less/">The unofficial Mac app</a> watches directories of .less files and compiles the code to local files after every save of a watched .less file.</p>
            <p>If you like, you can toggle preferences in the app for automatic minifying and which directory the compiled files end up in.</p>
          </td>
        </tr>
      </tbody>
    </table>
Mark Otto's avatar
Mark Otto committed
1834
1835
1836
1837
1838
  </div>
</div>

</section>

1839
1840


1841
    </div><!-- /container -->
1842

1843
1844
1845
1846
1847
1848
1849
    <footer class="footer">
      <div class="container">
        <p class="pull-right"><a href="#">Back to top</a></p>
        <p>
          Designed and built with all the love in the world <a href="http://twitter.com/twitter" target="_blank">@twitter</a> by <a href="http://twitter.com/mdo" target="_blank">@mdo</a> and <a href="http://twitter.com/fat" target="_blank">@fat</a>.<br />
          Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0" target="_blank">Apache License v2.0</a>.
        </p>
1850
      </div>
1851
    </footer>
1852
1853

  </body>
1854
</html>
For faster browsing, not all history is shown. View entire blame