maxmx / bootstrap-stylus

Port of Bootstrap to Stylus
MIT License
585 stars 113 forks source link

Bootstrap Stylus 3.4.1

Port of the amazing Bootstrap 3.4.1 to Stylus 0.52.0.

Installing

Latest version via Bower:

$ bower install bootstrap-stylus

Legacy 2.3.2 version is kept in this release and can be installed via Bower as well, however it does not include any build scripts.

$ bower install bootstrap-stylus#2.3.2

Via npm:

$ npm install bootstrap-styl

Example of requiring and using bootstrap middleware to create compile function to utilize in other frameworks.

var bootstrap = require('bootstrap-styl'),
    stylus    = require('stylus');

function compile(str) {
  return stylus(str)
    .use(bootstrap());
}

To import whole bootstrap in your stylus file:

@import bootstrap

Alternatively to import individual components:

@import 'bootstrap/variables'
@import 'bootstrap/mixins'
@import 'bootstrap/alerts'

Compiling CSS from Stylus

Bootstrap Stylus uses Grunt with convenient methods for working with the framework. To use it, install the required dependencies as directed and then run some Grunt commands.

Install Grunt

From the command line:

  1. Install grunt-cli globally with npm install -g grunt-cli.
  2. Install the necessary local dependencies via npm install

When completed, you'll be able to run the various Grunt commands provided from the command line.

Unfamiliar with npm? Don't have node installed? That's a-okay. npm stands for node packaged modules and is a way to manage development dependencies through node.js. Download and install node.js before proceeding.

Available Grunt commands

Compile CSS and JavaScript - grunt dist

grunt dist creates the /dist directory with compiled files. Uses UglifyJS.

Legacy 2.3.2 Theme - grunt theme

This will compile the theme.styl separately and output it to the /dist folder.

Watch - grunt watch

This is a convenience method for watching just Stylus files and automatically building them whenever you save.

Troubleshooting dependencies

Should you encounter problems with installing dependencies or running Grunt commands, uninstall all previous dependency versions (global and local). Then, rerun npm install.

Usage

Using with gulp

To use with gulp, use bootstrap-stylus as a plugin.

var bootstrap = require('bootstrap-styl');
var stylus = require('gulp-stylus');

gulp.task('bootstrap', function(){
    gulp.src('./your_code.styl')
        .pipe(stylus({ use: bootstrap(), compress: true }))
        .pipe(gulp.dest('./build'));
});

Original Authors

Mark Otto

Jacob Thornton

Copyright and license

Copyright 2013 Twitter, Inc under the Apache 2.0 license.