Skip to content

Commit

Permalink
Merge pull request #17 from alademann/3.0.2_sass-wip
Browse files Browse the repository at this point in the history
3.0.2 RC
  • Loading branch information
alademann committed Nov 11, 2013
2 parents bbc6ec6 + 67a5f3d commit e5647fe
Show file tree
Hide file tree
Showing 106 changed files with 3,712 additions and 2,144 deletions.
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ _gh_pages
*.vi
*~
*.sass-cache
*.lock

# OS or Editor folders
.DS_Store
Expand All @@ -30,6 +31,10 @@ nbproject
*.komodoproject
.komodotools

# grunt-html-validation
validation-status.json
validation-report.json

# Folders to ignore
.hg
.svn
Expand Down
20 changes: 15 additions & 5 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,11 +1,21 @@
language: node_js
node_js:
- 0.8

git:
submodules: false

before_script:
- gem install sass
- gem install compass
- gem install nokogiri
- gem install jekyll
- npm install -g grunt-cli
env:
global:
- secure: Besg41eyU+2mfxrywQ4ydOShMdc34ImaO0S0ENP+aCOBuyNBIgP59wy5tBMmyai2/8eInYeVps4Td96mWInMMxzTe3Bar7eTLG5tWVKRSr/wc4NBPZ/ppoPAmCEsz9Y+VptRH9/FO8n7hsL9EFZ+xBKbG+C0SccGoyBDpA5j7/w=
- secure: Ptiv7phCImFP3ALIz+sMQzrZg8k7C1gLZbFBhWxjnQr3g06wIfX3Ls5y9OHvxid+lOZZjISui3wzBVgpVHqwHUYf96+r0mo6/mJ+F4ffUmShZANVaIMD/JRTnXhUQJbvntGLvxn1EYWPdNM+2IHJrMipnjHxU9tkgAnlel4Zdew=
- TWBS_HAVE_OWN_BROWSERSTACK_KEY: ""
- npm install
script:
- grunt
# env:
# global:
# - secure: Besg41eyU+2mfxrywQ4ydOShMdc34ImaO0S0ENP+aCOBuyNBIgP59wy5tBMmyai2/8eInYeVps4Td96mWInMMxzTe3Bar7eTLG5tWVKRSr/wc4NBPZ/ppoPAmCEsz9Y+VptRH9/FO8n7hsL9EFZ+xBKbG+C0SccGoyBDpA5j7/w=
# - secure: Ptiv7phCImFP3ALIz+sMQzrZg8k7C1gLZbFBhWxjnQr3g06wIfX3Ls5y9OHvxid+lOZZjISui3wzBVgpVHqwHUYf96+r0mo6/mJ+F4ffUmShZANVaIMD/JRTnXhUQJbvntGLvxn1EYWPdNM+2IHJrMipnjHxU9tkgAnlel4Zdew=
# - TWBS_HAVE_OWN_BROWSERSTACK_KEY: ""
23 changes: 9 additions & 14 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,35 +6,30 @@ Looking to contribute something to SASS Bootstrap? **Here's how you can help.**

## Reporting issues

We only accept issues that are bug reports or feature requests. Bugs must be isolated and reproducible problems that we can fix within the Bootstrap core. Please read the following guidelines before opening any issue.
We only accept issues that are bug reports or feature requests. Bugs must be isolated and reproducible problems that we can fix within the Sass Bootstrap core. Please read the following guidelines before opening any issue.

1. **Search for existing issues.** We get a lot of duplicate issues, and you'd help us out a lot by first checking if someone else has reported the same issue. Moreover, the issue may have already been resolved with a fix available.
2. **Create an isolated and reproducible test case.** Be sure the problem exists in Bootstrap's code with a [reduced test case](http://css-tricks.com/reduced-test-cases/) that should be included in each bug report.
3. **Include a live example.** Make use of jsFiddle or jsBin to share your isolated test cases.
4. **Share as much information as possible.** Include operating system and version, browser and version, version of Bootstrap, customized or vanilla build, etc. where appropriate. Also include steps to reproduce the bug.
4. **Share as much information as possible.** Include operating system and version, browser and version, version of Sass Bootstrap, customized or vanilla build, etc. where appropriate. Also include steps to reproduce the bug.



## Key branches

- `master` is the latest, deployed version.
- `*sass-wip` is the official *work in progress* branch for the next Sass Bootstrap release (**use for pull requests**).
- `master` is the latest, deployed version (not to be used for pull requests).
- `gh-pages` is the hosted docs (not to be used for pull requests).
- `*sass-wip` is the official work in progress branch for the next Sass release.



## Notes on the repo

As of v3.0.0, Saas Bootstrap's documentation is powered by Jekyll templates and built dynamically by Github Pages before each release.



## Pull requests

- Try to submit pull requests against the latest `*sass-wip` branch for easier merging
- If modifying the `.scss` files, always recompile and commit the compiled file `sass-bootstrap.css`
- CSS changes must be done in `.scss` files first, never just the compiled `.css` files
- If modifying the `.scss` files, always recompile by running `grunt`, and commit the pre-compiled *and* compiled files
- Try not to pollute your pull request with unintended changes--keep them simple and small
- Try to share which browsers your code has been tested in before submitting a pull request
- **Pull requests should always be against the current `*sass-wip` branch, never against `gh-pages` or `master`**



Expand All @@ -49,7 +44,7 @@ As of v3.0.0, Saas Bootstrap's documentation is powered by Jekyll templates and

### CSS

- Adhere to the [Recess CSS property order](http://markdotto.com/2011/11/29/css-property-order/)
- Adhere to the [RECESS CSS property order](http://markdotto.com/2011/11/29/css-property-order/)
- Multiple-line approach (one property and value per line)
- Always a space after a property's colon (.e.g, `display: block;` and not `display:block;`)
- End all lines with a semi-colon
Expand All @@ -68,4 +63,4 @@ As of v3.0.0, Saas Bootstrap's documentation is powered by Jekyll templates and

## License

By contributing your code, you agree to license your contribution under the terms of the APLv2: https://github.com/twbs/bootstrap/blob/master/LICENSE
By contributing your code, you agree to dual-license your contribution under the [Apache 2](LICENSE) and [MIT](LICENSE-MIT) licenses.
6 changes: 6 additions & 0 deletions Gemfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
source 'https://rubygems.org'

gem 'sass'
gem 'compass'
gem 'nokogiri'
gem 'jekyll'
97 changes: 60 additions & 37 deletions Gruntfile.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,9 @@ module.exports = function(grunt) {
grunt: grunt
};

modules.livereload = require('./assets/js/grunts/livereload')(modules);
modules.livereload = require('./docs-assets/js/grunts/livereload')(modules);

RegExp.quote = require('regexp-quote')

// Project configuration.
grunt.initConfig({
Expand All @@ -26,11 +28,11 @@ module.exports = function(grunt) {
'*\n' +
'* Designed and built with all the love in the world by @alademann, @mdo and @fat.\n' +
'*/\n',
jqueryCheck: 'if (!jQuery) { throw new Error(\"Sass Bootstrap requires jQuery\") }\n\n',
jqueryCheck: 'if (typeof jQuery === "undefined") { throw new Error(\"Sass Bootstrap requires jQuery\") }\n\n',

// Task configuration.
clean: {
dist: ['dist', '<%= pkg.name %>-dist.zip']
dist: ['dist', '_gh_pages', '<%= pkg.name %>-dist.zip']
},

jshint: {
Expand All @@ -40,11 +42,11 @@ module.exports = function(grunt) {
},
src: ['js/*.js']
},
assets: {
docs: {
options: {
jshintrc: 'js/.jshintrc'
},
src: ['assets/js/application.js']
src: ['docs-assets/js/application.js']
},
test: {
options: {
Expand Down Expand Up @@ -80,7 +82,8 @@ module.exports = function(grunt) {

uglify: {
options: {
banner: '<%= banner %>'
banner: '<%= banner %>',
report: 'min'
},
bootstrap: {
src: ['<%= concat.bootstrap.dest %>'],
Expand Down Expand Up @@ -174,7 +177,12 @@ module.exports = function(grunt) {

validation: {
options: {
reset: false
reset: true,
maxTry: 1,
relaxerror: [
"Bad value X-UA-Compatible for attribute http-equiv on element meta.",
"Element img is missing required attribute src.",
]
},
files: {
src: ["_gh_pages/**/*.html"]
Expand All @@ -190,8 +198,8 @@ module.exports = function(grunt) {
}
},
docsjs: {
files: '<%= jshint.assets.src %>',
tasks: ['jshint:assets'],
files: '<%= jshint.docs.src %>',
tasks: ['jshint:docs'],
options: {
livereload: true
}
Expand All @@ -212,8 +220,8 @@ module.exports = function(grunt) {
livereload: false
}
},
assets: {
files: ['assets/**/*'],
docshtml: {
files: ['docs-assets/**/*'],
tasks: ['jekyll:docs'],
options: {
livereload: true
Expand All @@ -234,43 +242,57 @@ module.exports = function(grunt) {
livereload: true
}
}
},

sed: {
versionNumber: {
pattern: (function () {
var old = grunt.option('oldver')
return old ? RegExp.quote(old) : old
})(),
replacement: grunt.option('newver'),
recursive: true
}
}
});


// These plugins provide necessary tasks.
grunt.loadNpmTasks('grunt-contrib-connect');
// grunt.loadNpmTasks('browserstack-runner');
grunt.loadNpmTasks('grunt-contrib-clean');
grunt.loadNpmTasks('grunt-contrib-compass');
grunt.loadNpmTasks('grunt-contrib-compress');
grunt.loadNpmTasks('grunt-css');
grunt.loadNpmTasks('grunt-contrib-cssmin');
grunt.loadNpmTasks('grunt-contrib-concat');
grunt.loadNpmTasks('grunt-contrib-compress');
grunt.loadNpmTasks('grunt-contrib-connect');
grunt.loadNpmTasks('grunt-contrib-copy');
grunt.loadNpmTasks('grunt-contrib-jshint');
grunt.loadNpmTasks('grunt-contrib-qunit');
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-html-validation');
grunt.loadNpmTasks('grunt-css');
grunt.loadNpmTasks('grunt-jekyll');
grunt.loadNpmTasks('grunt-contrib-compass');
grunt.loadNpmTasks('grunt-sed');


grunt.registerTask('lr', modules.livereload);

// Docs HTML validation task
grunt.registerTask('validate-html', ['jekyll', 'validation']);
grunt.registerTask('validate-html', ['clean', 'jekyll', 'validation']);

// Test task.
grunt.registerTask('testSubtasks', ['jshint', 'qunit', 'validate-html']);
grunt.registerTask('testSubtasksNoValidation', ['jshint', 'qunit']);
grunt.registerTask('test',
function() {
if(grunt.option('validate')) {
grunt.task.run('testSubtasks');
} else {
grunt.task.run('testSubtasksNoValidation');
}
}
);
var testSubtasks = ['dist-css', 'jshint', 'qunit', 'validate-html'];
var testSubtasksNoHTMLValidation = ['dist-css', 'jshint', 'qunit'];
// Only run BrowserStack tests under Travis
// if (process.env.TRAVIS) {
// // Only run BrowserStack tests if this is a mainline commit in twbs/bootstrap, or you have your own BrowserStack key
// if ((process.env.TRAVIS_REPO_SLUG === 'alademann/sass-bootstrap' && process.env.TRAVIS_PULL_REQUEST === 'false') || process.env.ALADEMANN_HAVE_OWN_BROWSERSTACK_KEY) {
// testSubtasks.push('browserstack_runner');
// }
// }
grunt.registerTask('test', testSubtasks);
grunt.registerTask('test-no-html', testSubtasksNoHTMLValidation);

// JS distribution task.
grunt.registerTask('dist-js', ['concat', 'uglify']);
Expand All @@ -285,20 +307,21 @@ module.exports = function(grunt) {
grunt.registerTask('dist', ['clean', 'dist-fonts', 'dist-css', 'dist-js', 'compress:dist']);

// Default task.
grunt.registerTask('default', ['test', 'dist']);
grunt.registerTask('default', ['test-no-html', 'dist']);

// Default task that runs jekyll server, delivers uncompressed css and watch capabilities
// Dev 'default' task that runs jekyll server, delivers uncompressed css and watch capabilities
grunt.registerTask('dev',
[
'lr',
'connect:docs',
'dist-fonts',
'dist-css',
'test',
'dist-js',
'compress:dist',
'lr',
'connect:docs',
'default',
'watch'
]
);

};
// Version numbering task.
// grunt change-version-number --oldver=A.B.C --newver=X.Y.Z
// This can be overzealous, so its changes should always be manually reviewed!
grunt.registerTask('change-version-number', ['sed']);

};
21 changes: 21 additions & 0 deletions LICENSE-MIT
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
The MIT License (MIT)

Copyright (c) 2013 Twitter, Inc

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
Loading

0 comments on commit e5647fe

Please sign in to comment.