Commit 1d9f9ca7 authored by David Haynes's avatar David Haynes

Remove the bootstrap 2 theme setup

parent 7b94e743
branches:
only:
- master
- gh-pages
language: node_js
node_js:
- "0.8.11"
before_install:
- npm install -g grunt-cli recess bower
- bower install
script: "grunt swatch"
\ No newline at end of file
module.exports = function (grunt) {
grunt.loadNpmTasks('grunt-recess');
grunt.loadNpmTasks('grunt-contrib-concat');
grunt.loadNpmTasks('grunt-contrib-clean');
// Project configuration.
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
builddir: 'build',
meta: {
banner: '/**\n' +
' * <%= pkg.description %>\n' +
' * @version v<%= pkg.version %> - ' +
'<%= grunt.template.today("yyyy-mm-dd") %>\n' +
' * @link <%= pkg.homepage %>\n' +
' * @license <%= pkg.license %>' + ' */'
},
swatch: {
amelia:{}, cerulean:{}, cosmo:{}, cyborg:{}, flatly:{}, journal:{}, readable:{},
simplex:{}, slate:{}, spacelab:{}, spruce:{}, superhero:{}, united:{}
},
clean: {
build: {
src: ['*/build.less', '*/build-responsive.less',
'!global/build.less', '!global/build-responsive.less']
}
},
concat: {
dist: {
src: [],
dest: ''
}
},
recess: {
dist: {
options: {
compile: true,
compress: false
},
files: {}
}
}
});
grunt.registerTask('none', function() {});
grunt.registerTask('build', 'build a regular theme', function(theme, compress) {
var compress = compress == undefined ? true : compress;
var concatSrc;
var concatDest;
var recessDest;
var recessSrc;
var files = {};
var dist = {};
concatSrc = 'global/build.less';
concatDest = theme + '/build.less';
recessDest = '<%=builddir%>/' + theme + '/bootstrap.css';
recessSrc = [ theme + '/' + 'build.less' ];
dist = {src: concatSrc, dest: concatDest};
grunt.config('concat.dist', dist);
files = {}; files[recessDest] = recessSrc;
grunt.config('recess.dist.files', files);
grunt.config('recess.dist.options.compress', false);
grunt.task.run(['concat', 'recess:dist', 'clean:build',
compress ? 'compress:'+recessDest+':'+'<%=builddir%>/' + theme + '/bootstrap.min.css':'none']);
});
grunt.registerTask('build-responsive', 'build a responsive theme', function(theme, compress) {
var compress = compress == undefined ? true : compress;
var concatSrc;
var concatDest;
var recessDest;
var recessSrc;
var files = {};
var dist = {};
concatSrc = 'global/build-responsive.less';
concatDest = theme + '/build-responsive.less';
recessDest = '<%=builddir%>/' + theme + '/bootstrap-responsive.css';
recessSrc = [ theme + '/' + 'build-responsive.less' ];
dist = {src: concatSrc, dest: concatDest};
grunt.config('concat.dist', dist);
files = {}; files[recessDest] = recessSrc;
grunt.config('recess.dist.files', files);
grunt.config('recess.dist.options.compress', false);
grunt.task.run(['concat', 'recess:dist', 'clean:build',
compress ? 'compress:'+recessDest+':'+'<%=builddir%>/' + theme + '/bootstrap-responsive.min.css':'none']);
});
grunt.registerTask('compress', 'compress a generic css', function(fileSrc, fileDst) {
var files = {}; files[fileDst] = fileSrc;
grunt.log.writeln('compressing file ' + fileSrc);
grunt.config('recess.dist.files', files);
grunt.config('recess.dist.options.compress', true);
grunt.task.run(['recess:dist']);
});
grunt.registerMultiTask('swatch', 'build a theme, both not responsive and responsive', function() {
var t = this.target;
grunt.task.run('build:'+t, 'build-responsive:'+t);
});
grunt.registerTask('default', 'build a theme, both not responsive and responsive', function() {
grunt.task.run('swatch');
});
};
\ No newline at end of file
This diff is collapsed.
Bootswatch
==========
Bootswatch is a collection of free themes for [Bootstrap](http://getbootstrap.com/2.3.2/). Check it out at [bootswatch.com](http://bootswatch.com).
Usage
-----
Head over to [Bootswatch](http://bootswatch.com) and download the `bootstrap.min.css` file associated with a theme. Replace Bootstrap's stylesheet with this file.
The themes are also hosted on [BootstrapCDN](http://www.bootstrapcdn.com/).
For use with Rails, check out [bootswatch-rails](https://github.com/maxim/bootswatch-rails) (Sass) and [twitter-bootswatch-rails](https://github.com/scottvrosenthal/twitter-bootswatch-rails) (LESS). For use with a Yeoman app or with Bower check out [bootswatch-scss](https://github.com/nrub/bootswatch-scss).
Customization
------
Bootswatch is an open source project, and you’re welcome to modify the themes further. If you’re interested, fork or follow the GitHub repository. The files of interest are in the `gh-pages` branch.
Each raw theme consists of two LESS files. One is `variables.less`, which is included by default in Bootstrap and allows you to customize [these settings](http://getbootstrap.com/2.3.2/customize.html#variables). The other is called `bootswatch.less` and introduces more extensive structural changes.
Check out the README in the [swatchmaker directory](https://github.com/thomaspark/bootswatch/tree/master/swatchmaker) for step-by-step instructions on building your own swatch.
API
-----
A simple API is available for integrating your platform with Bootswatch.
The swatch objects are housed in an array called `themes`, and each swatch has the following properties: `name`, `description`, `preview`, `thumbnail`, `css`, `css-min`, `less`, and `less-variables`.
CORS and JSONP are supported. Send your request to `http://api.bootswatch.com`.
A simple demo, using mustache.js for templating: http://jsbin.com/asowud/1/edit
Feedback
------
Please send feedback to thomas@thomaspark.me. For more information, visit http://thomaspark.me/2012/02/introducing-bootswatch/.
Author
------
[Thomas Park](http://github.com/thomaspark)
+ http://thomaspark.co
Thanks
------
[Mark Otto](http://github.com/markdotto) and [Jacob Thornton](http://github.com/fat) for [Bootstrap](https://github.com/twitter/bootstrap).
[James Taylor](http://github.com/jostylr) for [cors-lite](https://github.com/jostylr/cors-lite).
[Zack Maril](http://github.com/zmaril) for [bootswatch/swatchmaker/watcher.rb](https://github.com/thomaspark/bootswatch/blob/master/swatchmaker/watcher.rb).
[Gerald Hiller](https://twitter.com/geraldhiller) for the favicon.
Copyright and License
----
Copyright 2012 Thomas Park
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.
This diff is collapsed.
This source diff could not be displayed because it is too large. You can view the blob instead.
This diff is collapsed.
This diff is collapsed.
// Amelia 2.3.2
// Variables
// --------------------------------------------------
// Global values
// --------------------------------------------------
// Grays
// -------------------------
@black: #000;
@grayDarker: #111;
@grayDark: #444;
@gray: #555;
@grayLight: #aaa;
@grayLighter: #ddd;
@white: #fff;
// Accent colors
// -------------------------
@blue: #00BCE1;
@blueDark: #1269B0;
@green: #48CA3B;
@red: #AD1D28;
@yellow: #DEBB27;
@orange: #DF6E1E;
@pink: #FFBCB9;
@purple: #4D3A7D;
// Scaffolding
// -------------------------
@bodyBackground: #003F4D;
@textColor: #E1F0F0;
// Links
// -------------------------
@linkColor: lighten(@yellow, 15%);
@linkColorHover: @linkColor;
// Typography
// -------------------------
@sansFontFamily: 'Cabin', Verdana, sans-serif;
@serifFontFamily: Georgia, "Times New Roman", Times, serif;
@monoFontFamily: Menlo, Monaco, Consolas, "Courier New", monospace;
@baseFontSize: 14px;
@baseFontFamily: @sansFontFamily;
@baseLineHeight: 20px;
@altFontFamily: @serifFontFamily;
@headingsFontFamily: 'Lobster', cursive; // empty to use BS default, @baseFontFamily
@headingsFontWeight: normal; // instead of browser default, bold
@headingsColor: inherit; // empty to use BS default, @textColor
// Component sizing
// -------------------------
// Based on 14px font-size and 20px line-height
@fontSizeLarge: @baseFontSize * 1.25; // ~18px
@fontSizeSmall: @baseFontSize * 0.85; // ~12px
@fontSizeMini: @baseFontSize * 0.75; // ~11px
@paddingLarge: 20px 24px; // 58px
@paddingSmall: 8px 12px; // 34px
@paddingMini: 4px 8px; // 28px
@baseBorderRadius: 0;
@borderRadiusLarge: 6px;
@borderRadiusSmall: 3px;
// Tables
// -------------------------
@tableBackground: lighten(#147E88, 10%); // overall background-color
@tableBackgroundAccent: lighten(#147E88, 15%); // for striping
@tableBackgroundHover: rgba(255, 255, 255, 0.4); // for hover
@tableBorder: lighten(#147E88, 12%); // table and cell border
// Buttons
// -------------------------
@btnBackground: @grayLighter;
@btnBackgroundHighlight: @grayLighter;
@btnBorder: rgba(0, 0, 0, 0);
@btnPrimaryBackground: @navbarBackground;
@btnPrimaryBackgroundHighlight: @navbarBackground;
@btnInfoBackground: @purple;
@btnInfoBackgroundHighlight: @purple;
@btnSuccessBackground: @green;
@btnSuccessBackgroundHighlight: @green;
@btnWarningBackground: @orange;
@btnWarningBackgroundHighlight: @orange;
@btnDangerBackground: @yellow;
@btnDangerBackgroundHighlight: @yellow;
@btnInverseBackground: #27666D;
@btnInverseBackgroundHighlight: #27666D;
// Forms
// -------------------------
@inputBackground: @white;
@inputBorder: transparent;
@inputBorderRadius: @baseBorderRadius;
@inputDisabledBackground: @grayLighter;
@formActionsBackground: transparent;
@inputHeight: @baseLineHeight + 10px; // base line-height + 8px vertical padding + 2px top/bottom border
// Dropdowns
// -------------------------
@dropdownBackground: @white;
@dropdownBorder: rgba(0,0,0,.2);
@dropdownDividerTop: #e5e5e5;
@dropdownDividerBottom: @white;
@dropdownLinkColor: @grayDark;
@dropdownLinkColorHover: @white;
@dropdownLinkColorActive: @white;
@dropdownLinkBackgroundActive: @red;
@dropdownLinkBackgroundHover: @red;
// COMPONENT VARIABLES
// --------------------------------------------------
// Z-index master list
// -------------------------
// Used for a bird's eye view of components dependent on the z-axis
// Try to avoid customizing these :)
@zindexDropdown: 1000;
@zindexPopover: 1010;
@zindexTooltip: 1020;
@zindexFixedNavbar: 1030;
@zindexModalBackdrop: 1040;
@zindexModal: 1050;
// Sprite icons path
// -------------------------
@iconSpritePath: "../img/glyphicons-halflings.png";
@iconWhiteSpritePath: "../img/glyphicons-halflings-white.png";
// Input placeholder text color
// -------------------------
@placeholderText: @grayLight;
// Hr border color
// -------------------------
@hrBorder: rgba(255, 255, 255, 0.3);
// Horizontal forms & lists
// -------------------------
@horizontalComponentOffset: 180px;
// Wells
// -------------------------
@wellBackground: #3CB9C6;
// Navbar
// -------------------------
@navbarCollapseWidth: 979px;
@navbarCollapseDesktopWidth: @navbarCollapseWidth + 1;
@navbarHeight: 50px;
@navbarBackgroundHighlight: @red;
@navbarBackground: @red;
@navbarBorder: darken(@navbarBackground, 12%);
@navbarText: @white;
@navbarLinkColor: @white;
@navbarLinkColorHover: @white;
@navbarLinkColorActive: @navbarLinkColorHover;
@navbarLinkBackgroundHover: lighten(@navbarBackground, 10%);
@navbarLinkBackgroundActive: lighten(@navbarBackground, 10%);
@navbarBrandColor: @navbarLinkColor;
// Inverted navbar
@navbarInverseBackground: @yellow;
@navbarInverseBackgroundHighlight: @yellow;
@navbarInverseBorder: rgba(0, 0, 0, 0.1);
@navbarInverseText: @white;
@navbarInverseLinkColor: @white;
@navbarInverseLinkColorHover: @white;
@navbarInverseLinkColorActive: @white;
@navbarInverseLinkBackgroundHover: rgba(255, 255, 255, 0.2);
@navbarInverseLinkBackgroundActive: rgba(255, 255, 255, 0.2);
@navbarInverseSearchBackground: lighten(@navbarInverseBackground, 25%);
@navbarInverseSearchBackgroundFocus: @white;
@navbarInverseSearchBorder: @navbarInverseBackground;
@navbarInverseSearchPlaceholderColor: @white;
@navbarInverseBrandColor: @navbarInverseLinkColor;
// Pagination
// -------------------------
@paginationBackground: #3CB9C6;
@paginationBorder: transparent;
@paginationActiveBackground: rgba(255, 255, 255, 0.4);
// Hero unit
// -------------------------
@heroUnitBackground: #3CB9C6;
@heroUnitHeadingColor: inherit;
@heroUnitLeadColor: inherit;
// Form states and alerts
// -------------------------
@warningText: @textColor;
@warningBackground: @orange;
@warningBorder: darken(spin(@warningBackground, -10), 3%);
@errorText: @textColor;
@errorBackground: @red;
@errorBorder: darken(spin(@errorBackground, -10), 3%);
@successText: @textColor;
@successBackground: @green;
@successBorder: darken(spin(@successBackground, -10), 5%);
@infoText: @textColor;
@infoBackground: @purple;
@infoBorder: darken(spin(@infoBackground, -10), 7%);
// Tooltips and popovers
// -------------------------
@tooltipColor: #fff;
@tooltipBackground: #000;
@tooltipArrowWidth: 5px;
@tooltipArrowColor: @tooltipBackground;
@popoverBackground: #fff;
@popoverArrowWidth: 10px;
@popoverArrowColor: #fff;
@popoverTitleBackground: @navbarBackground;
// Special enhancement for popovers
@popoverArrowOuterWidth: @popoverArrowWidth + 1;
@popoverArrowOuterColor: rgba(0,0,0,.25);
// GRID
// --------------------------------------------------
// Default 940px grid
// -------------------------
@gridColumns: 12;
@gridColumnWidth: 60px;
@gridGutterWidth: 20px;
@gridRowWidth: (@gridColumns * @gridColumnWidth) + (@gridGutterWidth * (@gridColumns - 1));
// 1200px min
@gridColumnWidth1200: 70px;
@gridGutterWidth1200: 30px;
@gridRowWidth1200: (@gridColumns * @gridColumnWidth1200) + (@gridGutterWidth1200 * (@gridColumns - 1));
// 768px-979px
@gridColumnWidth768: 42px;
@gridGutterWidth768: 20px;
@gridRowWidth768: (@gridColumns * @gridColumnWidth768) + (@gridGutterWidth768 * (@gridColumns - 1));
// Fluid grid
// -------------------------
@fluidGridColumnWidth: percentage(@gridColumnWidth/@gridRowWidth);
@fluidGridGutterWidth: percentage(@gridGutterWidth/@gridRowWidth);
// 1200px min
@fluidGridColumnWidth1200: percentage(@gridColumnWidth1200/@gridRowWidth1200);
@fluidGridGutterWidth1200: percentage(@gridGutterWidth1200/@gridRowWidth1200);
// 768px-979px
@fluidGridColumnWidth768: percentage(@gridColumnWidth768/@gridRowWidth768);
@fluidGridGutterWidth768: percentage(@gridGutterWidth768/@gridRowWidth768);
{
"version": "2.3.2",
"themes": [
{
"name": "Amelia",
"description": "Sweet and cheery.",
"thumbnail": "http://bootswatch.com/amelia/thumbnail.png",
"preview": "http://bootswatch.com/amelia/",
"css": "http://bootswatch.com/amelia/bootstrap.css",
"css-min": "http://bootswatch.com/amelia/bootstrap.min.css",
"cssMin": "http://bootswatch.com/amelia/bootstrap.min.css",
"less": "http://bootswatch.com/amelia/bootswatch.less",
"less-variables": "http://bootswatch.com/amelia/variables.less",
"lessVariables": "http://bootswatch.com/amelia/variables.less"
},
{
"name": "Cerulean",
"description": "A calm blue sky.",
"thumbnail": "http://bootswatch.com/cerulean/thumbnail.png",
"preview": "http://bootswatch.com/cerulean/",
"css": "http://bootswatch.com/cerulean/bootstrap.css",
"css-min": "http://bootswatch.com/cerulean/bootstrap.min.css",
"cssMin": "http://bootswatch.com/cerulean/bootstrap.min.css",
"less": "http://bootswatch.com/cerulean/bootswatch.less",
"less-variables": "http://bootswatch.com/cerulean/variables.less",
"lessVariables": "http://bootswatch.com/cerulean/variables.less"
},
{
"name": "Cosmo",
"description": "An ode to Metro.",
"thumbnail": "http://bootswatch.com/cosmo/thumbnail.png",
"preview": "http://bootswatch.com/cosmo/",
"css": "http://bootswatch.com/cosmo/bootstrap.css",
"css-min": "http://bootswatch.com/cosmo/bootstrap.min.css",
"cssMin": "http://bootswatch.com/cosmo/bootstrap.min.css",
"less": "http://bootswatch.com/cosmo/bootswatch.less",
"less-variables": "http://bootswatch.com/cosmo/variables.less",
"lessVariables": "http://bootswatch.com/cosmo/variables.less"
},
{
"name": "Cyborg",
"description": "Jet black and electric blue.",