2012-06-28 08:56:00 +02:00
<!DOCTYPE html>
< html lang = "en" >
< head >
< meta charset = "utf-8" >
< title > Extend · Twitter Bootstrap< / title >
< meta name = "viewport" content = "width=device-width, initial-scale=1.0" >
< meta name = "description" content = "" >
< meta name = "author" content = "" >
<!-- Le styles -->
< link href = "assets/css/bootstrap.css" rel = "stylesheet" >
< link href = "assets/css/bootstrap-responsive.css" rel = "stylesheet" >
< link href = "assets/css/docs.css" rel = "stylesheet" >
< link href = "assets/js/google-code-prettify/prettify.css" rel = "stylesheet" >
<!-- Le HTML5 shim, for IE6 - 8 support of HTML5 elements -->
<!-- [if lt IE 9]>
< script src = "http://html5shim.googlecode.com/svn/trunk/html5.js" > < / script >
<![endif]-->
<!-- Le fav and touch icons -->
< link rel = "shortcut icon" href = "assets/ico/favicon.ico" >
< link rel = "apple-touch-icon-precomposed" sizes = "144x144" href = "assets/ico/apple-touch-icon-144-precomposed.png" >
< link rel = "apple-touch-icon-precomposed" sizes = "114x114" href = "assets/ico/apple-touch-icon-114-precomposed.png" >
< link rel = "apple-touch-icon-precomposed" sizes = "72x72" href = "assets/ico/apple-touch-icon-72-precomposed.png" >
< link rel = "apple-touch-icon-precomposed" href = "assets/ico/apple-touch-icon-57-precomposed.png" >
< / head >
2012-07-08 10:47:36 +02:00
< body data-spy = "scroll" data-target = ".bs-docs-sidebar" data-offset = "10" >
2012-06-28 08:56:00 +02:00
<!-- Navbar
================================================== -->
< div class = "navbar navbar-fixed-top" >
< div class = "navbar-inner" >
2012-07-08 08:16:07 +02:00
< div class = "container" >
2012-06-28 08:56:00 +02:00
< button type = "button" class = "btn btn-navbar" data-toggle = "collapse" data-target = ".nav-collapse" >
< span class = "icon-bar" > < / span >
< span class = "icon-bar" > < / span >
< span class = "icon-bar" > < / span >
< / button >
< a class = "brand" href = "./index.html" > Bootstrap< / a >
< div class = "nav-collapse collapse" >
< ul class = "nav" >
< li class = "" >
< a href = "./index.html" > Home< / a >
< / li >
2012-07-13 06:38:18 +02:00
< li class = "" >
< a href = "./getting-started.html" > Get started< / a >
< / li >
2012-06-28 08:56:00 +02:00
< li class = "" >
< a href = "./scaffolding.html" > Scaffolding< / a >
< / li >
< li class = "" >
< a href = "./base-css.html" > Base CSS< / a >
< / li >
< li class = "" >
< a href = "./components.html" > Components< / a >
< / li >
< li class = "" >
< a href = "./javascript.html" > Javascript< / a >
< / li >
< li class = "" >
< a href = "./extend.html" > Extend< / a >
< / li >
< / ul >
< / div >
< / div >
< / div >
< / div >
2012-07-10 07:25:00 +02:00
<!-- Subhead
2012-06-28 08:56:00 +02:00
================================================== -->
< header class = "jumbotron subhead" id = "overview" >
2012-07-13 03:11:49 +02:00
< div class = "container" >
< h1 > Extending Bootstrap< / h1 >
< p class = "lead" > Extend Bootstrap to take advantage of included styles and components, as well as LESS variables and mixins.< / p >
< div >
2012-06-28 08:56:00 +02:00
< / header >
2012-07-13 03:11:49 +02:00
< div class = "container" >
2012-06-28 08:56:00 +02:00
2012-07-13 03:11:49 +02:00
<!-- Docs nav
================================================== -->
< div class = "row" >
< div class = "span3 bs-docs-sidebar" >
< ul class = "nav nav-list bs-docs-sidenav" >
< li > < a href = "#built-with-less" > Built with LESS < i class = "icon-chevron-right" > < / i > < / a > < / li >
< li > < a href = "#compiling" > Compiling Bootstrap < i class = "icon-chevron-right" > < / i > < / a > < / li >
< li > < a href = "#static-assets" > Use as static assets < i class = "icon-chevron-right" > < / i > < / a > < / li >
< / ul >
< / div >
< div class = "span9" >
2012-06-28 08:56:00 +02:00
2012-07-13 03:11:49 +02:00
<!-- BUILT WITH LESS
================================================== -->
< section id = "built-with-less" >
< div class = "page-header" >
< h1 > Built with LESS< / h1 >
< / div >
2012-06-28 08:56:00 +02:00
2012-07-13 03:11:49 +02:00
< h3 > Why LESS?< / h3 >
< p > Bootstrap is made with LESS at its core, a dynamic stylesheet language created by our good friend, < a href = "http://cloudhead.io" > Alexis Sellier< / a > . It makes developing systems-based CSS faster, easier, and more fun.< / p >
2012-06-28 08:56:00 +02:00
2012-07-13 03:11:49 +02:00
< h3 > What's included?< / h3 >
< p > As an extension of CSS, LESS includes variables, mixins for reusable snippets of code, operations for simple math, nesting, and even color functions.< / p >
2012-06-28 08:56:00 +02:00
2012-07-13 03:11:49 +02:00
< h3 > Learn more< / h3 >
< img style = "float: right; height: 36px;" src = "assets/img/less-logo-large.png" alt = "LESS CSS" >
< p > Visit the official website at < a href = "http://lesscss.org" > http://lesscss.org< / a > to learn more.< / p >
< / section >
2012-06-28 08:56:00 +02:00
2012-07-13 03:11:49 +02:00
<!-- COMPILING LESS AND BOOTSTRAP
================================================== -->
< section id = "compiling" >
< div class = "page-header" >
< h1 > Compiling Bootstrap with LESS< / h1 >
< / div >
< div class = "alert alert-info" >
< strong > Note:< / strong > If you're submitting a pull request to GitHub with modified CSS, you < strong > must< / strong > recompile the CSS via any of these methods.
< / div >
2012-07-10 07:25:00 +02:00
2012-07-13 03:11:49 +02:00
< h2 > Tools for compiling< / h2 >
2012-07-10 07:25:00 +02:00
2012-07-13 03:11:49 +02:00
< h3 > Node with makefile< / h3 >
< p > Install the LESS command line compiler, JSHint, Recess, and uglify-js globally with npm by running the following command:< / p >
< pre > $ npm install -g less jshint recess uglify-js< / 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 >
2012-06-28 08:56:00 +02:00
2012-07-13 03:11:49 +02:00
< h3 > Command line< / h3 >
< p > Install the LESS command line tool via Node and run the following command:< / p >
< pre > $ lessc ./less/bootstrap.less > bootstrap.css< / pre >
< p > Be sure to include < code > --compress< / code > in that command if you're trying to save some bytes!< / p >
2012-07-10 07:25:00 +02:00
2012-07-13 03:11:49 +02:00
< h3 > Javascript< / h3 >
< 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 >
2012-07-10 07:29:53 +02:00
< pre class = "prettyprint" >
< link rel="stylesheet/less" href="/path/to/bootstrap.less">
< script src="/path/to/less.js"> < /script>
< / pre >
2012-07-13 03:11:49 +02:00
< p > To recompile the .less files, just save them and reload your page. Less.js compiles them and stores them in local storage.< / p >
2012-07-10 07:25:00 +02:00
2012-07-13 03:11:49 +02:00
< h3 > Unofficial Mac app< / h3 >
< 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 >
2012-07-10 07:25:00 +02:00
2012-07-13 03:11:49 +02:00
< h3 > More Mac apps< / h3 >
< h4 > < a href = "http://crunchapp.net/" target = "_blank" > Crunch< / a > < / h4 >
< p > Crunch is a great looking LESS editor and compiler built on Adobe Air.< / p >
< h4 > < a href = "http://incident57.com/codekit/" target = "_blank" > CodeKit< / a > < / h4 >
< p > Created by the same guy as the unofficial Mac app, CodeKit is a Mac app that compiles LESS, SASS, Stylus, and CoffeeScript.< / p >
< h4 > < a href = "http://wearekiss.com/simpless" target = "_blank" > Simpless< / a > < / h4 >
< p > Mac, Linux, and PC app for drag and drop compiling of LESS files. Plus, the < a href = "https://github.com/Paratron/SimpLESS" target = "_blank" > source code is on GitHub< / a > .< / p >
2012-07-10 07:25:00 +02:00
2012-07-13 03:11:49 +02:00
< / section >
2012-07-10 07:25:00 +02:00
2012-07-13 03:11:49 +02:00
<!-- Static assets
================================================== -->
< section id = "static-assets" >
< div class = "page-header" >
< h1 > Use as static assets< / h1 >
< / div >
< p > ...< / p >
< / section >
2012-07-10 07:25:00 +02:00
2012-07-10 07:29:53 +02:00
2012-07-13 03:11:49 +02:00
< / div >
2012-07-10 07:25:00 +02:00
< / div >
2012-06-28 08:56:00 +02:00
2012-07-13 03:11:49 +02:00
< / div >
2012-07-13 02:02:55 +02:00
2012-06-28 08:56:00 +02:00
2012-07-13 02:02:55 +02:00
<!-- Footer
================================================== -->
< footer class = "footer" >
< div class = "container" >
2012-06-28 08:56:00 +02:00
< 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 > .< / p >
< p > Code licensed under the < a href = "http://www.apache.org/licenses/LICENSE-2.0" target = "_blank" > Apache License v2.0< / a > . Documentation licensed under < a href = "http://creativecommons.org/licenses/by/3.0/" > CC BY 3.0< / a > .< / p >
< p > Icons from < a href = "http://glyphicons.com" > Glyphicons Free< / a > , licensed under < a href = "http://creativecommons.org/licenses/by/3.0/" > CC BY 3.0< / a > .< / p >
2012-07-08 08:16:07 +02:00
< ul class = "footer-links" >
< li > < a href = "http://blog.getbootstrap.com" > Read the blog< / a > < / li >
< li > < a href = "https://github.com/twitter/bootstrap/issues?state=open" > Submit issues< / a > < / li >
< li > < a href = "https://github.com/twitter/bootstrap/wiki" > Roadmap and changelog< / a > < / li >
< / ul >
2012-07-13 02:02:55 +02:00
< / div >
< / footer >
2012-06-28 08:56:00 +02:00
<!-- Le javascript
================================================== -->
<!-- Placed at the end of the document so the pages load faster -->
< script type = "text/javascript" src = "http://platform.twitter.com/widgets.js" > < / script >
< script src = "assets/js/jquery.js" > < / script >
< script src = "assets/js/google-code-prettify/prettify.js" > < / script >
< script src = "assets/js/bootstrap-transition.js" > < / script >
< script src = "assets/js/bootstrap-alert.js" > < / script >
< script src = "assets/js/bootstrap-modal.js" > < / script >
< script src = "assets/js/bootstrap-dropdown.js" > < / script >
< script src = "assets/js/bootstrap-scrollspy.js" > < / script >
< script src = "assets/js/bootstrap-tab.js" > < / script >
< script src = "assets/js/bootstrap-tooltip.js" > < / script >
< script src = "assets/js/bootstrap-popover.js" > < / script >
< script src = "assets/js/bootstrap-button.js" > < / script >
< script src = "assets/js/bootstrap-collapse.js" > < / script >
< script src = "assets/js/bootstrap-carousel.js" > < / script >
< script src = "assets/js/bootstrap-typeahead.js" > < / script >
< script src = "assets/js/application.js" > < / script >
< / body >
< / html >