├── .gitattributes ├── .gitignore ├── .travis.yml ├── LICENSE ├── Makefile ├── README.md ├── assets ├── css │ ├── style-responsive.css │ ├── style.css │ └── style.less ├── img │ ├── loader.svg │ └── logo.png ├── js │ ├── init.js │ └── pages │ │ └── index.js ├── libs │ ├── alertifyjs │ │ ├── alertify.min.js │ │ └── css │ │ │ ├── alertify.min.css │ │ │ └── themes │ │ │ └── default.min.css │ ├── axios │ │ ├── axios.min.js │ │ └── axios.min.map │ ├── bootstrap-select │ │ ├── bootstrap-select.min.css │ │ └── bootstrap-select.min.js │ ├── bootstrap-select2 │ │ ├── Thumbs.db │ │ ├── select2-spinner.gif │ │ ├── select2.css │ │ ├── select2.min.js │ │ └── select2.png │ ├── bootstrap-validator │ │ ├── css │ │ │ ├── bootstrapValidator.css │ │ │ └── bootstrapValidator.min.css │ │ └── js │ │ │ ├── bootstrapValidator.js │ │ │ └── bootstrapValidator.min.js │ ├── bootstrap │ │ ├── css │ │ │ ├── bootstrap-theme.css │ │ │ ├── bootstrap-theme.css.map │ │ │ ├── bootstrap-theme.min.css │ │ │ ├── bootstrap.css │ │ │ ├── bootstrap.css.map │ │ │ └── bootstrap.min.css │ │ ├── fonts │ │ │ ├── glyphicons-halflings-regular.eot │ │ │ ├── glyphicons-halflings-regular.svg │ │ │ ├── glyphicons-halflings-regular.ttf │ │ │ └── glyphicons-halflings-regular.woff │ │ └── js │ │ │ ├── bootstrap.js │ │ │ ├── bootstrap.min.js │ │ │ └── npm.js │ ├── fastclick │ │ └── fastclick.js │ ├── font-awesome │ │ ├── css │ │ │ ├── font-awesome.css │ │ │ └── font-awesome.min.css │ │ └── fonts │ │ │ ├── FontAwesome.otf │ │ │ ├── fontawesome-webfont.eot │ │ │ ├── fontawesome-webfont.svg │ │ │ ├── fontawesome-webfont.ttf │ │ │ ├── fontawesome-webfont.woff │ │ │ └── fontawesome-webfont.woff2 │ ├── fontello │ │ ├── LICENSE.txt │ │ ├── README.txt │ │ ├── config.json │ │ ├── css │ │ │ ├── animation.css │ │ │ ├── fontello-codes.css │ │ │ ├── fontello-embedded.css │ │ │ ├── fontello-ie7-codes.css │ │ │ ├── fontello-ie7.css │ │ │ └── fontello.css │ │ ├── demo.html │ │ └── font │ │ │ ├── fontello.eot │ │ │ ├── fontello.svg │ │ │ ├── fontello.ttf │ │ │ └── fontello.woff │ ├── ios7-switch │ │ ├── .gitignore │ │ ├── History.md │ │ ├── Makefile │ │ ├── Readme.md │ │ ├── component.json │ │ ├── example.html │ │ ├── ios7-switch.css │ │ ├── ios7-switch.styl │ │ └── ios7.switch.js │ ├── jquery-icheck │ │ ├── .gitignore │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── bower.json │ │ ├── icheck.jquery.json │ │ ├── icheck.js │ │ ├── icheck.min.js │ │ └── skins │ │ │ ├── all.css │ │ │ ├── flat │ │ │ ├── _all.css │ │ │ ├── aero.css │ │ │ ├── aero.png │ │ │ ├── aero@2x.png │ │ │ ├── blue.css │ │ │ ├── blue.png │ │ │ ├── blue@2x.png │ │ │ ├── flat.css │ │ │ ├── flat.png │ │ │ ├── flat@2x.png │ │ │ ├── green.css │ │ │ ├── green.png │ │ │ ├── green@2x.png │ │ │ ├── grey.css │ │ │ ├── grey.png │ │ │ ├── grey@2x.png │ │ │ ├── orange.css │ │ │ ├── orange.png │ │ │ ├── orange@2x.png │ │ │ ├── pink.css │ │ │ ├── pink.png │ │ │ ├── pink@2x.png │ │ │ ├── purple.css │ │ │ ├── purple.png │ │ │ ├── purple@2x.png │ │ │ ├── red.css │ │ │ ├── red.png │ │ │ ├── red@2x.png │ │ │ ├── yellow.css │ │ │ ├── yellow.png │ │ │ └── yellow@2x.png │ │ │ ├── futurico │ │ │ ├── futurico.css │ │ │ ├── futurico.png │ │ │ └── futurico@2x.png │ │ │ ├── line │ │ │ ├── _all.css │ │ │ ├── aero.css │ │ │ ├── blue.css │ │ │ ├── green.css │ │ │ ├── grey.css │ │ │ ├── line.css │ │ │ ├── line.png │ │ │ ├── line@2x.png │ │ │ ├── orange.css │ │ │ ├── pink.css │ │ │ ├── purple.css │ │ │ ├── red.css │ │ │ └── yellow.css │ │ │ ├── minimal │ │ │ ├── _all.css │ │ │ ├── aero.css │ │ │ ├── aero.png │ │ │ ├── aero@2x.png │ │ │ ├── blue.css │ │ │ ├── blue.png │ │ │ ├── blue@2x.png │ │ │ ├── green.css │ │ │ ├── green.png │ │ │ ├── green@2x.png │ │ │ ├── grey.css │ │ │ ├── grey.png │ │ │ ├── grey@2x.png │ │ │ ├── minimal.css │ │ │ ├── minimal.png │ │ │ ├── minimal@2x.png │ │ │ ├── orange.css │ │ │ ├── orange.png │ │ │ ├── orange@2x.png │ │ │ ├── pink.css │ │ │ ├── pink.png │ │ │ ├── pink@2x.png │ │ │ ├── purple.css │ │ │ ├── purple.png │ │ │ ├── purple@2x.png │ │ │ ├── red.css │ │ │ ├── red.png │ │ │ ├── red@2x.png │ │ │ ├── yellow.css │ │ │ ├── yellow.png │ │ │ └── yellow@2x.png │ │ │ ├── polaris │ │ │ ├── polaris.css │ │ │ ├── polaris.png │ │ │ └── polaris@2x.png │ │ │ └── square │ │ │ ├── _all.css │ │ │ ├── aero.css │ │ │ ├── aero.png │ │ │ ├── aero@2x.png │ │ │ ├── blue.css │ │ │ ├── blue.png │ │ │ ├── blue@2x.png │ │ │ ├── green.css │ │ │ ├── green.png │ │ │ ├── green@2x.png │ │ │ ├── grey.css │ │ │ ├── grey.png │ │ │ ├── grey@2x.png │ │ │ ├── orange.css │ │ │ ├── orange.png │ │ │ ├── orange@2x.png │ │ │ ├── pink.css │ │ │ ├── pink.png │ │ │ ├── pink@2x.png │ │ │ ├── purple.css │ │ │ ├── purple.png │ │ │ ├── purple@2x.png │ │ │ ├── red.css │ │ │ ├── red.png │ │ │ ├── red@2x.png │ │ │ ├── square.css │ │ │ ├── square.png │ │ │ ├── square@2x.png │ │ │ ├── yellow.css │ │ │ ├── yellow.png │ │ │ └── yellow@2x.png │ ├── jquery-sparkline │ │ └── jquery-sparkline.js │ ├── jquery-validation │ │ └── js │ │ │ └── bootstrapValidator.min.js │ ├── jquery │ │ └── jquery-1.11.1.min.js │ ├── jqueryui │ │ ├── jquery-ui-1.10.4.custom.min.js │ │ └── ui-lightness │ │ │ ├── New folder │ │ │ ├── jquery-ui-1.10.4.custom.css │ │ │ └── jquery-ui-1.10.4.custom.min.css │ │ │ ├── images │ │ │ ├── animated-overlay.gif │ │ │ ├── ui-bg_diagonals-thick_18_b81900_40x40.png │ │ │ ├── ui-bg_diagonals-thick_20_666666_40x40.png │ │ │ ├── ui-bg_flat_10_000000_40x100.png │ │ │ ├── ui-bg_glass_100_f6f6f6_1x400.png │ │ │ ├── ui-bg_glass_100_fdf5ce_1x400.png │ │ │ ├── ui-bg_glass_65_ffffff_1x400.png │ │ │ ├── ui-bg_gloss-wave_35_f6a828_500x100.png │ │ │ ├── ui-bg_highlight-soft_100_eeeeee_1x100.png │ │ │ ├── ui-bg_highlight-soft_75_ffe45c_1x100.png │ │ │ ├── ui-icons_222222_256x240.png │ │ │ ├── ui-icons_228ef1_256x240.png │ │ │ ├── ui-icons_ef8c08_256x240.png │ │ │ ├── ui-icons_ffd27a_256x240.png │ │ │ └── ui-icons_ffffff_256x240.png │ │ │ ├── jquery-ui-1.10.4.custom.css │ │ │ └── jquery-ui-1.10.4.custom.min.css │ ├── nifty-modal │ │ ├── css │ │ │ └── component.css │ │ └── js │ │ │ ├── classie.js │ │ │ ├── css-filters-polyfill.js │ │ │ ├── cssParser.js │ │ │ ├── modalEffects.js │ │ │ └── modernizr.custom.js │ ├── pace │ │ ├── pace.css │ │ ├── pace.js │ │ └── pace.min.js │ ├── prettify │ │ ├── desert.css │ │ ├── doxy.css │ │ ├── github.css │ │ ├── lang-apollo.js │ │ ├── lang-basic.js │ │ ├── lang-clj.js │ │ ├── lang-css.js │ │ ├── lang-dart.js │ │ ├── lang-erlang.js │ │ ├── lang-go.js │ │ ├── lang-hs.js │ │ ├── lang-lisp.js │ │ ├── lang-llvm.js │ │ ├── lang-lua.js │ │ ├── lang-matlab.js │ │ ├── lang-ml.js │ │ ├── lang-mumps.js │ │ ├── lang-n.js │ │ ├── lang-pascal.js │ │ ├── lang-proto.js │ │ ├── lang-r.js │ │ ├── lang-rd.js │ │ ├── lang-scala.js │ │ ├── lang-sql.js │ │ ├── lang-tcl.js │ │ ├── lang-tex.js │ │ ├── lang-vb.js │ │ ├── lang-vhdl.js │ │ ├── lang-wiki.js │ │ ├── lang-xq.js │ │ ├── lang-yaml.js │ │ ├── prettify.css │ │ ├── prettify.js │ │ ├── run_prettify.js │ │ ├── sons-of-obsidian.css │ │ └── sunburst.css │ ├── sortable │ │ ├── sortable-theme-bootstrap.css │ │ └── sortable.min.js │ └── toastr │ │ ├── toastr.js.map │ │ ├── toastr.min.css │ │ └── toastr.min.js └── locales │ ├── en-US.yaml │ └── zh-CN.yaml ├── controllers ├── index.go ├── install.go ├── node.go ├── router.go └── websocket.go ├── main.go ├── models ├── node.go └── response.go ├── server.sh ├── shells ├── v1.7.2 │ ├── docker.sh │ ├── master.sh │ └── node.sh ├── v1.8.1 │ ├── docker.sh │ ├── master.sh │ └── node.sh └── v1.9.2 │ ├── docker.sh │ ├── master.sh │ └── node.sh ├── snapshots ├── 1.png ├── 2.png ├── 3.png ├── 4.png ├── 5.png └── 6.png ├── templates ├── index.html └── locale.html └── utils ├── logo.go ├── setup.go ├── ssh.go └── uuid.go /.gitattributes: -------------------------------------------------------------------------------- 1 | assets/* linguist-vendored 2 | templates/* linguist-vendored 3 | shells/* linguist-vendored 4 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | kubekit 2 | install.log 3 | package/* 4 | .master-ip 5 | .DS_Store 6 | .nodes 7 | .k8s-token 8 | *.gz 9 | kubekit-release/* 10 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | go: 3 | - 1.8.x 4 | - 1.9.x 5 | install: 6 | - go get -v 7 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015 Peter Bourgon 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | # Binary name 2 | BINARY=kubekit 3 | # Builds the project 4 | build: 5 | go build -o ${BINARY} 6 | # Installs our project: copies binaries 7 | install: 8 | go install 9 | release: 10 | # Clean 11 | go clean 12 | rm -rf *.gz 13 | rm -rf kubekit-release 14 | # Build for linux 15 | mkdir kubekit-release 16 | CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build 17 | mv kubekit ./kubekit-release 18 | cp -r ./assets ./kubekit-release 19 | cp -r ./templates ./kubekit-release 20 | cp ./server.sh ./kubekit-release 21 | cp README.md ./kubekit-release 22 | cp LICENSE ./kubekit-release 23 | tar czvf ${BINARY}-linux64-${VERSION}.tar.gz ./kubekit-release 24 | # Cleans our projects: deletes binaries 25 | clean: 26 | go clean 27 | rm -rf *.gz 28 | rm -rf kubekit-release 29 | 30 | .PHONY: clean build 31 | -------------------------------------------------------------------------------- /assets/img/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orientsoft/kubekit/3b2578afe2d38034fb8297b2907090de26fcf7df/assets/img/logo.png -------------------------------------------------------------------------------- /assets/libs/alertifyjs/css/themes/default.min.css: -------------------------------------------------------------------------------- 1 | /** 2 | * alertifyjs 1.11.0 http://alertifyjs.com 3 | * AlertifyJS is a javascript framework for developing pretty browser dialogs and notifications. 4 | * Copyright 2017 Mohammad Younes (http://alertifyjs.com) 5 | * Licensed under GPL 3 */ 6 | .alertify .ajs-dialog{background-color:#fff;-webkit-box-shadow:0 15px 20px 0 rgba(0,0,0,.25);box-shadow:0 15px 20px 0 rgba(0,0,0,.25);border-radius:2px}.alertify .ajs-header{color:#000;font-weight:700;background:#fafafa;border-bottom:#eee 1px solid;border-radius:2px 2px 0 0}.alertify .ajs-body{color:#000}.alertify .ajs-body .ajs-content .ajs-input{display:block;width:100%;padding:8px;margin:4px;border-radius:2px;border:1px solid #ccc}.alertify .ajs-body .ajs-content p{margin:0}.alertify .ajs-footer{background:#fbfbfb;border-top:#eee 1px solid;border-radius:0 0 2px 2px}.alertify .ajs-footer .ajs-buttons .ajs-button{background-color:transparent;color:#000;border:0;font-size:14px;font-weight:700;text-transform:uppercase}.alertify .ajs-footer .ajs-buttons .ajs-button.ajs-ok{color:#3593d2}.alertify-notifier .ajs-message{background:rgba(255,255,255,.95);color:#000;text-align:center;border:solid 1px #ddd;border-radius:2px}.alertify-notifier .ajs-message.ajs-success{color:#fff;background:rgba(91,189,114,.95);text-shadow:-1px -1px 0 rgba(0,0,0,.5)}.alertify-notifier .ajs-message.ajs-error{color:#fff;background:rgba(217,92,92,.95);text-shadow:-1px -1px 0 rgba(0,0,0,.5)}.alertify-notifier .ajs-message.ajs-warning{background:rgba(252,248,215,.95);border-color:#999} -------------------------------------------------------------------------------- /assets/libs/bootstrap-select2/Thumbs.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orientsoft/kubekit/3b2578afe2d38034fb8297b2907090de26fcf7df/assets/libs/bootstrap-select2/Thumbs.db -------------------------------------------------------------------------------- /assets/libs/bootstrap-select2/select2-spinner.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orientsoft/kubekit/3b2578afe2d38034fb8297b2907090de26fcf7df/assets/libs/bootstrap-select2/select2-spinner.gif -------------------------------------------------------------------------------- /assets/libs/bootstrap-select2/select2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orientsoft/kubekit/3b2578afe2d38034fb8297b2907090de26fcf7df/assets/libs/bootstrap-select2/select2.png -------------------------------------------------------------------------------- /assets/libs/bootstrap-validator/css/bootstrapValidator.css: -------------------------------------------------------------------------------- 1 | /** 2 | * BootstrapValidator (http://bootstrapvalidator.com) 3 | * 4 | * The best jQuery plugin to validate form fields. Designed to use with Bootstrap 3 5 | * 6 | * @author http://twitter.com/nghuuphuoc 7 | * @copyright (c) 2013 - 2014 Nguyen Huu Phuoc 8 | * @license MIT 9 | */ 10 | 11 | .bv-form .help-block { 12 | margin-bottom: 0; 13 | } 14 | .nav-tabs li.bv-tab-success > a { 15 | color: #3c763d; 16 | } 17 | .nav-tabs li.bv-tab-error > a { 18 | color: #a94442; 19 | } 20 | -------------------------------------------------------------------------------- /assets/libs/bootstrap-validator/css/bootstrapValidator.min.css: -------------------------------------------------------------------------------- 1 | /** 2 | * BootstrapValidator (http://bootstrapvalidator.com) 3 | * 4 | * The best jQuery plugin to validate form fields. Designed to use with Bootstrap 3 5 | * 6 | * @version v0.4.5 7 | * @author https://twitter.com/nghuuphuoc 8 | * @copyright (c) 2013 - 2014 Nguyen Huu Phuoc 9 | * @license MIT 10 | */ 11 | 12 | 13 | .bv-form .help-block{margin-bottom:0}.nav-tabs li.bv-tab-success>a{color:#3c763d}.nav-tabs li.bv-tab-error>a{color:#a94442} -------------------------------------------------------------------------------- /assets/libs/bootstrap/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orientsoft/kubekit/3b2578afe2d38034fb8297b2907090de26fcf7df/assets/libs/bootstrap/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /assets/libs/bootstrap/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orientsoft/kubekit/3b2578afe2d38034fb8297b2907090de26fcf7df/assets/libs/bootstrap/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /assets/libs/bootstrap/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orientsoft/kubekit/3b2578afe2d38034fb8297b2907090de26fcf7df/assets/libs/bootstrap/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /assets/libs/bootstrap/js/npm.js: -------------------------------------------------------------------------------- 1 | // This file is autogenerated via the `commonjs` Grunt task. You can require() this file in a CommonJS environment. 2 | require('../../js/transition.js') 3 | require('../../js/alert.js') 4 | require('../../js/button.js') 5 | require('../../js/carousel.js') 6 | require('../../js/collapse.js') 7 | require('../../js/dropdown.js') 8 | require('../../js/modal.js') 9 | require('../../js/tooltip.js') 10 | require('../../js/popover.js') 11 | require('../../js/scrollspy.js') 12 | require('../../js/tab.js') 13 | require('../../js/affix.js') -------------------------------------------------------------------------------- /assets/libs/font-awesome/fonts/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orientsoft/kubekit/3b2578afe2d38034fb8297b2907090de26fcf7df/assets/libs/font-awesome/fonts/FontAwesome.otf -------------------------------------------------------------------------------- /assets/libs/font-awesome/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orientsoft/kubekit/3b2578afe2d38034fb8297b2907090de26fcf7df/assets/libs/font-awesome/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /assets/libs/font-awesome/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orientsoft/kubekit/3b2578afe2d38034fb8297b2907090de26fcf7df/assets/libs/font-awesome/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /assets/libs/font-awesome/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orientsoft/kubekit/3b2578afe2d38034fb8297b2907090de26fcf7df/assets/libs/font-awesome/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /assets/libs/font-awesome/fonts/fontawesome-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orientsoft/kubekit/3b2578afe2d38034fb8297b2907090de26fcf7df/assets/libs/font-awesome/fonts/fontawesome-webfont.woff2 -------------------------------------------------------------------------------- /assets/libs/fontello/LICENSE.txt: -------------------------------------------------------------------------------- 1 | Font license info 2 | 3 | 4 | ## Entypo 5 | 6 | Copyright (C) 2012 by Daniel Bruce 7 | 8 | Author: Daniel Bruce 9 | License: CC BY-SA (http://creativecommons.org/licenses/by-sa/2.0/) 10 | Homepage: http://www.entypo.com 11 | 12 | 13 | ## Elusive 14 | 15 | Copyright (C) 2013 by Aristeides Stathopoulos 16 | 17 | Author: Aristeides Stathopoulos 18 | License: SIL (http://scripts.sil.org/OFL) 19 | Homepage: http://aristeides.com/ 20 | 21 | 22 | ## Iconic 23 | 24 | Copyright (C) 2012 by P.J. Onori 25 | 26 | Author: P.J. Onori 27 | License: SIL (http://scripts.sil.org/OFL) 28 | Homepage: http://somerandomdude.com/work/iconic/ 29 | 30 | 31 | ## MFG Labs 32 | 33 | Copyright (C) 2012 by Daniel Bruce 34 | 35 | Author: MFG Labs 36 | License: SIL (http://scripts.sil.org/OFL) 37 | Homepage: http://www.mfglabs.com/ 38 | 39 | 40 | -------------------------------------------------------------------------------- /assets/libs/fontello/README.txt: -------------------------------------------------------------------------------- 1 | This webfont is generated by http://fontello.com open source project. 2 | 3 | 4 | ================================================================================ 5 | Please, note, that you should obey original font licences, used to make this 6 | webfont pack. Details available in LICENSE.txt file. 7 | 8 | - Usually, it's enough to publish content of LICENSE.txt file somewhere on your 9 | site in "About" section. 10 | 11 | - If your project is open-source, usually, it will be ok to make LICENSE.txt 12 | file publically available in your repository. 13 | 14 | - Fonts, used in Fontello, don't require to make clickable links on your site. 15 | But any kind of additional authors crediting is welcome. 16 | ================================================================================ 17 | 18 | 19 | Comments on archive content 20 | --------------------------- 21 | 22 | - /font/* - fonts in different formats 23 | 24 | - /css/* - different kinds of css, for all situations. Should be ok with 25 | twitter bootstrap. Also, you can skip style and assign icon classes 26 | directly to text elements, if you don't mind about IE7. 27 | 28 | - demo.html - demo file, to show your webfont content 29 | 30 | - LICENSE.txt - license info about source fonts, used to build your one. 31 | 32 | - config.json - keeps your settings. You can import it back to fontello anytime, 33 | to continue your work 34 | 35 | 36 | Why so many CSS files ? 37 | ----------------------- 38 | 39 | Because we like to fit all your needs :) 40 | 41 | - basic file, .css - is usually enougth, in contains @font-face 42 | and character codes definition 43 | 44 | - *-ie7.css - if you need IE7 support, but still don't wish to put char codes 45 | directly into html 46 | 47 | - *-codes.css and *-ie7-codes.css - if you like to use your own @font-face 48 | rules, but still wish to benefit of css generation. That can be very 49 | convenient for automated assets build systems. When you need to update font - 50 | no needs to manually edit files, just override old version with archive 51 | content. See fontello source codes for example. 52 | 53 | - *-embedded.css - basic css file, but with embedded WOFF font, to avoid 54 | CORS issues in Firefox and IE9+, when fonts are hosted on the separate domain. 55 | We strongly recommend to resolve this issue by `Access-Control-Allow-Origin` 56 | server headers. But if you ok with dirty hack - this file is for you. Note, 57 | that data url moved to separate @font-face to avoid problems with ios7-switch.css 7 | 8 | 9 | components: component.json 10 | @component install --dev 11 | 12 | clean: 13 | rm -fr build components template.js 14 | 15 | .PHONY: clean 16 | -------------------------------------------------------------------------------- /assets/libs/ios7-switch/Readme.md: -------------------------------------------------------------------------------- 1 | 2 | # ios7-switch 3 | 4 | 5 | Personally I really don’t like mimicking native UIs, but I find it interesting to see how these tiny interactions work on iOS7 `Switch`. 6 | 7 | So I did a quick research to find out how those tiny bits are moving around :) 8 | 9 | ![](http://c.mnmly.com/PbZY/2013-06-12%2011_56_23.gif) 10 | 11 | 12 | ☞ [Demo] 13 | 14 | 15 | 16 | 17 | Here’s the major frames of turning on / turning off interaction. 18 | 19 | ![](http://c.mnmly.com/PbVC/Slice%201@2x.png) 20 | 21 | 22 | [Demo]: http://mnmly.github.com/ios7-switch/ 23 | 24 | 25 | ## Installation 26 | 27 | $ component install mnmly/ios7-switch 28 | 29 | ## Example 30 | 31 | ```javascript 32 | var Switch = require('ios7-switch') 33 | , checkbox = document.querySelector('input') 34 | , mySwitch = new Switch(checkbox); 35 | 36 | // When `mySwitch` is clicked toggle state 37 | mySwitch.el.addEventListener('click', function(e){ 38 | e.preventDefault(); 39 | mySwitch.toggle(); 40 | }, false) 41 | ``` 42 | 43 | 44 | 45 | ## License 46 | 47 | MIT 48 | -------------------------------------------------------------------------------- /assets/libs/ios7-switch/component.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ios7-switch", 3 | "repo": "mnmly/ios7-switch", 4 | "description": "iOS7 styled switch", 5 | "version": "0.0.1", 6 | "keywords": [], 7 | "dependencies": { 8 | }, 9 | "development": {}, 10 | "license": "MIT", 11 | "main": "index.js", 12 | "scripts": [ 13 | "index.js" 14 | ], 15 | "styles": [ 16 | "ios7-switch.css" 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /assets/libs/ios7-switch/example.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | iOS7 Switch 5 | 6 | 7 | 8 | 19 | 20 | 21 | 22 | 23 | 24 | 27 | 28 | 29 | 40 | 41 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /assets/libs/ios7-switch/ios7-switch.styl: -------------------------------------------------------------------------------- 1 | 2 | .ios-switch 3 | height: 45px 4 | width: 75px 5 | position: relative 6 | background-color: #E5E5E5 7 | border-radius: 100px 8 | backface-visibility: hidden 9 | 10 | .background-fill 11 | width: 100% 12 | height: 100% 13 | border-radius: 100px 14 | position: absolute 15 | left: 0 16 | top: 0 17 | 18 | .on-background 19 | background-image: linear-gradient(#00e459, #00e158) 20 | opacity: 0 21 | z-index: 1 22 | transition: .3s 0.2s 23 | 24 | .state-background 25 | border-radius: 100px 26 | z-index: 2 27 | background-image: linear-gradient(#ffffff, #FDFDFD) 28 | transition: .4s 29 | transform: scale(1) 30 | box-sizing: border-box 31 | border: 2px solid #E5E5E5 32 | 33 | .handle 34 | width: 41px 35 | height: 41px 36 | background-color: white 37 | top: 2px 38 | left: 2px 39 | position: absolute 40 | border-radius: 20px 41 | box-shadow: 0 0 3px 1px hsla(0, 0%, 0%, .075), 0 3px 5px hsla(0, 0%, 0%, .15), 1px 2px 2px hsla(0, 0%, 0%, .05) 42 | z-index: 3 43 | transition: transform .3s 0.25s cubic-bezier(0.455, 0.030, 0.215, 1.330) 44 | 45 | &.off 46 | .handle 47 | animation: expand-off .3s 0.2s 48 | transform: translate3d(0px, 0, 0) 49 | 50 | .on-background 51 | transition: .3s 0s 52 | 53 | .state-background 54 | transition: .4s 0.25s 55 | 56 | &.on 57 | .handle 58 | animation: expand-on .3s 0.2s 59 | transform: translate3d(30px, 0, 0) 60 | 61 | .on-background 62 | opacity: 1 63 | 64 | .state-background 65 | transform: scale(0) 66 | 67 | 68 | @keyframes expand-on 69 | 0% 70 | width: 41px 71 | 72 | 40% 73 | width: 50px 74 | 75 | 100% 76 | width: 41px 77 | 78 | 79 | @keyframes expand-off 80 | 0% 81 | width: 41px 82 | left: 2px 83 | 84 | 40% 85 | width: 50px 86 | left: -7px 87 | 88 | 100% 89 | width: 41px 90 | left: 2px 91 | 92 | 93 | 94 | -------------------------------------------------------------------------------- /assets/libs/ios7-switch/ios7.switch.js: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * Accept one checkbox input field, and convert it into iOS style switch UI. 4 | */ 5 | 6 | function Switch(input) { 7 | if ('checkbox' !== input.type) throw new Error('You can\'t make Switch out of non-checkbox input'); 8 | 9 | this.input = input; 10 | this.input.style.display = 'none'; // hide the actual input 11 | 12 | this.el = document.createElement('div'); 13 | $(this.input).removeClass("ios-switch"); 14 | this.el.className = 'iswitch '+$(this.input).attr("class"); 15 | this._prepareDOM(); 16 | 17 | this.input.parentElement.insertBefore(this.el, this.input); 18 | 19 | // read initial state and set Switch state accordingly 20 | if (this.input.checked) this.turnOn() 21 | var ele = this; 22 | this.el.addEventListener('click', function(e){ 23 | e.preventDefault(); 24 | ele.toggle(); 25 | }, false); 26 | } 27 | 28 | 29 | /** 30 | * Toggles on/off state 31 | */ 32 | 33 | Switch.prototype.toggle = function() { 34 | 35 | if(this.el.classList.contains('on')){ 36 | this.turnOff(); 37 | } else { 38 | this.turnOn(); 39 | } 40 | 41 | this.triggerChange(); 42 | }; 43 | 44 | 45 | /** 46 | * Turn on 47 | */ 48 | 49 | Switch.prototype.turnOn = function() { 50 | this.el.classList.add('on'); 51 | this.el.classList.remove('off'); 52 | this.input.checked = true; 53 | }; 54 | 55 | /** 56 | * Turn off 57 | */ 58 | 59 | Switch.prototype.turnOff = function() { 60 | this.el.classList.remove('on'); 61 | this.el.classList.add('off'); 62 | this.input.checked = false; 63 | } 64 | 65 | 66 | /** 67 | * Triggers DOM event programatically on the real input field 68 | */ 69 | 70 | Switch.prototype.triggerChange = function() { 71 | if ("fireEvent" in this.input){ 72 | this.input.fireEvent("onchange"); 73 | } else { 74 | var evt = document.createEvent("HTMLEvents"); 75 | evt.initEvent("change", false, true); 76 | this.input.dispatchEvent(evt); 77 | } 78 | }; 79 | 80 | /** 81 | * We need to prepare some DOM elements 82 | */ 83 | 84 | Switch.prototype._prepareDOM = function() { 85 | 86 | var onBackground = document.createElement('div'); 87 | onBackground.className = 'on-background background-fill'; 88 | 89 | var stateBackground = document.createElement('div'); 90 | stateBackground.className = 'state-background background-fill'; 91 | 92 | var handle = document.createElement('div'); 93 | handle.className = 'handle'; 94 | 95 | this.el.appendChild(onBackground); 96 | this.el.appendChild(stateBackground); 97 | this.el.appendChild(handle); 98 | 99 | }; 100 | 101 | -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/.gitignore: -------------------------------------------------------------------------------- 1 | examples.png 2 | _index.html 3 | custom.styl 4 | custom.js 5 | .htaccess 6 | .git/ 7 | -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ### Version 1.0.1 - December 19, 2013 2 | 3 | * Added Bower support 4 | * Added to jQuery plugin registry 5 | 6 | ### Version 1.0.0 - December 18, 2013 7 | 8 | * Added ARIA attributes support (for VoiceOver and others) @myfreeweb 9 | * Added Amazon Kindle support @skinofstars 10 | * Fixed clickable links inside labels @LeGaS 11 | * Fixed lines separation between labels and inputs 12 | * Merged two versions of the plugin (jQuery and Zepto) into one 13 | * Fixed demo links 14 | * Fixed callbacks @PepijnSenders 15 | -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "iCheck", 3 | "version": "1.0.1", 4 | "description": "Highly customizable checkboxes and radio buttons (jQuery & Zepto)", 5 | "keywords": [ 6 | "icheck", 7 | "checkbox", 8 | "radio", 9 | "input", 10 | "field", 11 | "form", 12 | "custom", 13 | "replacement", 14 | "accessibility", 15 | "skins", 16 | "ui", 17 | "checked", 18 | "disabled", 19 | "indeterminate" 20 | ], 21 | "main": [ 22 | "./icheck.min.js" 23 | ], 24 | "dependencies": { 25 | "jquery": ">=1.7" 26 | }, 27 | "ignore": [ 28 | ".gitignore", 29 | "CHANGELOG.md", 30 | "README.md", 31 | "demo/" 32 | ], 33 | "license": "MIT", 34 | "authors": [ 35 | { 36 | "name": "Damir Sultanov", 37 | "email": "info@fronteed.com", 38 | "homepage": "http://fronteed.com/" 39 | } 40 | ], 41 | "homepage": "http://fronteed.com/iCheck/" 42 | } 43 | -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/icheck.jquery.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "icheck", 3 | "version": "1.0.1", 4 | "title": "iCheck", 5 | "author": { 6 | "name": "Damir Sultanov", 7 | "email": "info@fronteed.com", 8 | "homepage": "http://fronteed.com/" 9 | }, 10 | "licenses": [ 11 | { 12 | "type": "MIT", 13 | "url": "http://en.wikipedia.org/wiki/MIT_License" 14 | } 15 | ], 16 | "dependencies": { 17 | "jquery": ">=1.7" 18 | }, 19 | "description": "Highly customizable checkboxes and radio buttons (jQuery and Zepto). Features: identical inputs across different browsers and devices (both desktop and mobile), touch devices support (iOS, Android, BlackBerry, Windows Phone, Amazon Kindle), keyboard accessible inputs (Tab, Spacebar, Arrow up/down and other shortcuts), screenreader accessible inputs — (ARIA attributes for VoiceOver and others), customization freedom (use any HTML and CSS to style inputs or try 6 Retina-ready skins), lightweight size (1 kb gzipped). Provides 32 options to customize checkboxes and radio buttons, 11 callbacks to handle changes, 9 methods to make changes programmatically. Saves changes to original inputs, works carefully with any selectors.", 20 | "keywords": [ 21 | "checkbox", 22 | "radio", 23 | "input", 24 | "field", 25 | "form", 26 | "desktop", 27 | "mobile", 28 | "custom", 29 | "replacement", 30 | "accessibility", 31 | "skins", 32 | "ui", 33 | "checked", 34 | "disabled", 35 | "indeterminate", 36 | "css3", 37 | "html5", 38 | "tiny", 39 | "lightweight", 40 | "jquery", 41 | "zepto" 42 | ], 43 | "homepage": "http://fronteed.com/iCheck/", 44 | "docs": "https://github.com/fronteed/iCheck", 45 | "demo": "http://fronteed.com/iCheck/", 46 | "download": "http://fronteed.com/iCheck/", 47 | "bugs": "https://github.com/fronteed/iCheck/issues/" 48 | } 49 | -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/all.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin skins 2 | ----------------------------------- */ 3 | @import url("minimal/_all.css"); 4 | /* 5 | @import url("minimal/minimal.css"); 6 | @import url("minimal/red.css"); 7 | @import url("minimal/green.css"); 8 | @import url("minimal/blue.css"); 9 | @import url("minimal/aero.css"); 10 | @import url("minimal/grey.css"); 11 | @import url("minimal/orange.css"); 12 | @import url("minimal/yellow.css"); 13 | @import url("minimal/pink.css"); 14 | @import url("minimal/purple.css"); 15 | */ 16 | 17 | @import url("square/_all.css"); 18 | /* 19 | @import url("square/square.css"); 20 | @import url("square/red.css"); 21 | @import url("square/green.css"); 22 | @import url("square/blue.css"); 23 | @import url("square/aero.css"); 24 | @import url("square/grey.css"); 25 | @import url("square/orange.css"); 26 | @import url("square/yellow.css"); 27 | @import url("square/pink.css"); 28 | @import url("square/purple.css"); 29 | */ 30 | 31 | @import url("flat/_all.css"); 32 | /* 33 | @import url("flat/flat.css"); 34 | @import url("flat/red.css"); 35 | @import url("flat/green.css"); 36 | @import url("flat/blue.css"); 37 | @import url("flat/aero.css"); 38 | @import url("flat/grey.css"); 39 | @import url("flat/orange.css"); 40 | @import url("flat/yellow.css"); 41 | @import url("flat/pink.css"); 42 | @import url("flat/purple.css"); 43 | */ 44 | 45 | @import url("line/_all.css"); 46 | /* 47 | @import url("line/line.css"); 48 | @import url("line/red.css"); 49 | @import url("line/green.css"); 50 | @import url("line/blue.css"); 51 | @import url("line/aero.css"); 52 | @import url("line/grey.css"); 53 | @import url("line/orange.css"); 54 | @import url("line/yellow.css"); 55 | @import url("line/pink.css"); 56 | @import url("line/purple.css"); 57 | */ 58 | 59 | @import url("polaris/polaris.css"); 60 | 61 | @import url("futurico/futurico.css"); -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/flat/aero.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Flat skin, aero 2 | ----------------------------------- */ 3 | .icheckbox_flat-aero, 4 | .iradio_flat-aero { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 20px; 11 | height: 20px; 12 | background: url(aero.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_flat-aero { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_flat-aero.checked { 21 | background-position: -22px 0; 22 | } 23 | .icheckbox_flat-aero.disabled { 24 | background-position: -44px 0; 25 | cursor: default; 26 | } 27 | .icheckbox_flat-aero.checked.disabled { 28 | background-position: -66px 0; 29 | } 30 | 31 | .iradio_flat-aero { 32 | background-position: -88px 0; 33 | } 34 | .iradio_flat-aero.checked { 35 | background-position: -110px 0; 36 | } 37 | .iradio_flat-aero.disabled { 38 | background-position: -132px 0; 39 | cursor: default; 40 | } 41 | .iradio_flat-aero.checked.disabled { 42 | background-position: -154px 0; 43 | } 44 | 45 | /* Retina support */ 46 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5), 47 | only screen and (-moz-min-device-pixel-ratio: 1.5), 48 | only screen and (-o-min-device-pixel-ratio: 3/2), 49 | only screen and (min-device-pixel-ratio: 1.5) { 50 | .icheckbox_flat-aero, 51 | .iradio_flat-aero { 52 | background-image: url(aero@2x.png); 53 | -webkit-background-size: 176px 22px; 54 | background-size: 176px 22px; 55 | } 56 | } -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/flat/aero.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orientsoft/kubekit/3b2578afe2d38034fb8297b2907090de26fcf7df/assets/libs/jquery-icheck/skins/flat/aero.png -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/flat/aero@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orientsoft/kubekit/3b2578afe2d38034fb8297b2907090de26fcf7df/assets/libs/jquery-icheck/skins/flat/aero@2x.png -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/flat/blue.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Flat skin, blue 2 | ----------------------------------- */ 3 | .icheckbox_flat-blue, 4 | .iradio_flat-blue { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 20px; 11 | height: 20px; 12 | background: url(blue.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_flat-blue { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_flat-blue.checked { 21 | background-position: -22px 0; 22 | } 23 | .icheckbox_flat-blue.disabled { 24 | background-position: -44px 0; 25 | cursor: default; 26 | } 27 | .icheckbox_flat-blue.checked.disabled { 28 | background-position: -66px 0; 29 | } 30 | 31 | .iradio_flat-blue { 32 | background-position: -88px 0; 33 | } 34 | .iradio_flat-blue.checked { 35 | background-position: -110px 0; 36 | } 37 | .iradio_flat-blue.disabled { 38 | background-position: -132px 0; 39 | cursor: default; 40 | } 41 | .iradio_flat-blue.checked.disabled { 42 | background-position: -154px 0; 43 | } 44 | 45 | /* Retina support */ 46 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5), 47 | only screen and (-moz-min-device-pixel-ratio: 1.5), 48 | only screen and (-o-min-device-pixel-ratio: 3/2), 49 | only screen and (min-device-pixel-ratio: 1.5) { 50 | .icheckbox_flat-blue, 51 | .iradio_flat-blue { 52 | background-image: url(blue@2x.png); 53 | -webkit-background-size: 176px 22px; 54 | background-size: 176px 22px; 55 | } 56 | } -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/flat/blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orientsoft/kubekit/3b2578afe2d38034fb8297b2907090de26fcf7df/assets/libs/jquery-icheck/skins/flat/blue.png -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/flat/blue@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orientsoft/kubekit/3b2578afe2d38034fb8297b2907090de26fcf7df/assets/libs/jquery-icheck/skins/flat/blue@2x.png -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/flat/flat.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin flat skin, black 2 | ----------------------------------- */ 3 | .icheckbox_flat, 4 | .iradio_flat { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 20px; 11 | height: 20px; 12 | background: url(flat.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_flat { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_flat.checked { 21 | background-position: -22px 0; 22 | } 23 | .icheckbox_flat.disabled { 24 | background-position: -44px 0; 25 | cursor: default; 26 | } 27 | .icheckbox_flat.checked.disabled { 28 | background-position: -66px 0; 29 | } 30 | 31 | .iradio_flat { 32 | background-position: -88px 0; 33 | } 34 | .iradio_flat.checked { 35 | background-position: -110px 0; 36 | } 37 | .iradio_flat.disabled { 38 | background-position: -132px 0; 39 | cursor: default; 40 | } 41 | .iradio_flat.checked.disabled { 42 | background-position: -154px 0; 43 | } 44 | 45 | /* Retina support */ 46 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5), 47 | only screen and (-moz-min-device-pixel-ratio: 1.5), 48 | only screen and (-o-min-device-pixel-ratio: 3/2), 49 | only screen and (min-device-pixel-ratio: 1.5) { 50 | .icheckbox_flat, 51 | .iradio_flat { 52 | background-image: url(flat@2x.png); 53 | -webkit-background-size: 176px 22px; 54 | background-size: 176px 22px; 55 | } 56 | } -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/flat/flat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orientsoft/kubekit/3b2578afe2d38034fb8297b2907090de26fcf7df/assets/libs/jquery-icheck/skins/flat/flat.png -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/flat/flat@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orientsoft/kubekit/3b2578afe2d38034fb8297b2907090de26fcf7df/assets/libs/jquery-icheck/skins/flat/flat@2x.png -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/flat/green.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Flat skin, green 2 | ----------------------------------- */ 3 | .icheckbox_flat-green, 4 | .iradio_flat-green { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 20px; 11 | height: 20px; 12 | background: url(green.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_flat-green { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_flat-green.checked { 21 | background-position: -22px 0; 22 | } 23 | .icheckbox_flat-green.disabled { 24 | background-position: -44px 0; 25 | cursor: default; 26 | } 27 | .icheckbox_flat-green.checked.disabled { 28 | background-position: -66px 0; 29 | } 30 | 31 | .iradio_flat-green { 32 | background-position: -88px 0; 33 | } 34 | .iradio_flat-green.checked { 35 | background-position: -110px 0; 36 | } 37 | .iradio_flat-green.disabled { 38 | background-position: -132px 0; 39 | cursor: default; 40 | } 41 | .iradio_flat-green.checked.disabled { 42 | background-position: -154px 0; 43 | } 44 | 45 | /* Retina support */ 46 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5), 47 | only screen and (-moz-min-device-pixel-ratio: 1.5), 48 | only screen and (-o-min-device-pixel-ratio: 3/2), 49 | only screen and (min-device-pixel-ratio: 1.5) { 50 | .icheckbox_flat-green, 51 | .iradio_flat-green { 52 | background-image: url(green@2x.png); 53 | -webkit-background-size: 176px 22px; 54 | background-size: 176px 22px; 55 | } 56 | } -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/flat/green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orientsoft/kubekit/3b2578afe2d38034fb8297b2907090de26fcf7df/assets/libs/jquery-icheck/skins/flat/green.png -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/flat/green@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orientsoft/kubekit/3b2578afe2d38034fb8297b2907090de26fcf7df/assets/libs/jquery-icheck/skins/flat/green@2x.png -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/flat/grey.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Flat skin, grey 2 | ----------------------------------- */ 3 | .icheckbox_flat-grey, 4 | .iradio_flat-grey { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 20px; 11 | height: 20px; 12 | background: url(grey.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_flat-grey { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_flat-grey.checked { 21 | background-position: -22px 0; 22 | } 23 | .icheckbox_flat-grey.disabled { 24 | background-position: -44px 0; 25 | cursor: default; 26 | } 27 | .icheckbox_flat-grey.checked.disabled { 28 | background-position: -66px 0; 29 | } 30 | 31 | .iradio_flat-grey { 32 | background-position: -88px 0; 33 | } 34 | .iradio_flat-grey.checked { 35 | background-position: -110px 0; 36 | } 37 | .iradio_flat-grey.disabled { 38 | background-position: -132px 0; 39 | cursor: default; 40 | } 41 | .iradio_flat-grey.checked.disabled { 42 | background-position: -154px 0; 43 | } 44 | 45 | /* Retina support */ 46 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5), 47 | only screen and (-moz-min-device-pixel-ratio: 1.5), 48 | only screen and (-o-min-device-pixel-ratio: 3/2), 49 | only screen and (min-device-pixel-ratio: 1.5) { 50 | .icheckbox_flat-grey, 51 | .iradio_flat-grey { 52 | background-image: url(grey@2x.png); 53 | -webkit-background-size: 176px 22px; 54 | background-size: 176px 22px; 55 | } 56 | } -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/flat/grey.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orientsoft/kubekit/3b2578afe2d38034fb8297b2907090de26fcf7df/assets/libs/jquery-icheck/skins/flat/grey.png -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/flat/grey@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orientsoft/kubekit/3b2578afe2d38034fb8297b2907090de26fcf7df/assets/libs/jquery-icheck/skins/flat/grey@2x.png -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/flat/orange.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Flat skin, orange 2 | ----------------------------------- */ 3 | .icheckbox_flat-orange, 4 | .iradio_flat-orange { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 20px; 11 | height: 20px; 12 | background: url(orange.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_flat-orange { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_flat-orange.checked { 21 | background-position: -22px 0; 22 | } 23 | .icheckbox_flat-orange.disabled { 24 | background-position: -44px 0; 25 | cursor: default; 26 | } 27 | .icheckbox_flat-orange.checked.disabled { 28 | background-position: -66px 0; 29 | } 30 | 31 | .iradio_flat-orange { 32 | background-position: -88px 0; 33 | } 34 | .iradio_flat-orange.checked { 35 | background-position: -110px 0; 36 | } 37 | .iradio_flat-orange.disabled { 38 | background-position: -132px 0; 39 | cursor: default; 40 | } 41 | .iradio_flat-orange.checked.disabled { 42 | background-position: -154px 0; 43 | } 44 | 45 | /* Retina support */ 46 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5), 47 | only screen and (-moz-min-device-pixel-ratio: 1.5), 48 | only screen and (-o-min-device-pixel-ratio: 3/2), 49 | only screen and (min-device-pixel-ratio: 1.5) { 50 | .icheckbox_flat-orange, 51 | .iradio_flat-orange { 52 | background-image: url(orange@2x.png); 53 | -webkit-background-size: 176px 22px; 54 | background-size: 176px 22px; 55 | } 56 | } -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/flat/orange.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orientsoft/kubekit/3b2578afe2d38034fb8297b2907090de26fcf7df/assets/libs/jquery-icheck/skins/flat/orange.png -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/flat/orange@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orientsoft/kubekit/3b2578afe2d38034fb8297b2907090de26fcf7df/assets/libs/jquery-icheck/skins/flat/orange@2x.png -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/flat/pink.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Flat skin, pink 2 | ----------------------------------- */ 3 | .icheckbox_flat-pink, 4 | .iradio_flat-pink { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 20px; 11 | height: 20px; 12 | background: url(pink.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_flat-pink { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_flat-pink.checked { 21 | background-position: -22px 0; 22 | } 23 | .icheckbox_flat-pink.disabled { 24 | background-position: -44px 0; 25 | cursor: default; 26 | } 27 | .icheckbox_flat-pink.checked.disabled { 28 | background-position: -66px 0; 29 | } 30 | 31 | .iradio_flat-pink { 32 | background-position: -88px 0; 33 | } 34 | .iradio_flat-pink.checked { 35 | background-position: -110px 0; 36 | } 37 | .iradio_flat-pink.disabled { 38 | background-position: -132px 0; 39 | cursor: default; 40 | } 41 | .iradio_flat-pink.checked.disabled { 42 | background-position: -154px 0; 43 | } 44 | 45 | /* Retina support */ 46 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5), 47 | only screen and (-moz-min-device-pixel-ratio: 1.5), 48 | only screen and (-o-min-device-pixel-ratio: 3/2), 49 | only screen and (min-device-pixel-ratio: 1.5) { 50 | .icheckbox_flat-pink, 51 | .iradio_flat-pink { 52 | background-image: url(pink@2x.png); 53 | -webkit-background-size: 176px 22px; 54 | background-size: 176px 22px; 55 | } 56 | } -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/flat/pink.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orientsoft/kubekit/3b2578afe2d38034fb8297b2907090de26fcf7df/assets/libs/jquery-icheck/skins/flat/pink.png -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/flat/pink@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orientsoft/kubekit/3b2578afe2d38034fb8297b2907090de26fcf7df/assets/libs/jquery-icheck/skins/flat/pink@2x.png -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/flat/purple.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Flat skin, purple 2 | ----------------------------------- */ 3 | .icheckbox_flat-purple, 4 | .iradio_flat-purple { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 20px; 11 | height: 20px; 12 | background: url(purple.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_flat-purple { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_flat-purple.checked { 21 | background-position: -22px 0; 22 | } 23 | .icheckbox_flat-purple.disabled { 24 | background-position: -44px 0; 25 | cursor: default; 26 | } 27 | .icheckbox_flat-purple.checked.disabled { 28 | background-position: -66px 0; 29 | } 30 | 31 | .iradio_flat-purple { 32 | background-position: -88px 0; 33 | } 34 | .iradio_flat-purple.checked { 35 | background-position: -110px 0; 36 | } 37 | .iradio_flat-purple.disabled { 38 | background-position: -132px 0; 39 | cursor: default; 40 | } 41 | .iradio_flat-purple.checked.disabled { 42 | background-position: -154px 0; 43 | } 44 | 45 | /* Retina support */ 46 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5), 47 | only screen and (-moz-min-device-pixel-ratio: 1.5), 48 | only screen and (-o-min-device-pixel-ratio: 3/2), 49 | only screen and (min-device-pixel-ratio: 1.5) { 50 | .icheckbox_flat-purple, 51 | .iradio_flat-purple { 52 | background-image: url(purple@2x.png); 53 | -webkit-background-size: 176px 22px; 54 | background-size: 176px 22px; 55 | } 56 | } -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/flat/purple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orientsoft/kubekit/3b2578afe2d38034fb8297b2907090de26fcf7df/assets/libs/jquery-icheck/skins/flat/purple.png -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/flat/purple@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orientsoft/kubekit/3b2578afe2d38034fb8297b2907090de26fcf7df/assets/libs/jquery-icheck/skins/flat/purple@2x.png -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/flat/red.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Flat skin, red 2 | ----------------------------------- */ 3 | .icheckbox_flat-red, 4 | .iradio_flat-red { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 20px; 11 | height: 20px; 12 | background: url(red.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_flat-red { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_flat-red.checked { 21 | background-position: -22px 0; 22 | } 23 | .icheckbox_flat-red.disabled { 24 | background-position: -44px 0; 25 | cursor: default; 26 | } 27 | .icheckbox_flat-red.checked.disabled { 28 | background-position: -66px 0; 29 | } 30 | 31 | .iradio_flat-red { 32 | background-position: -88px 0; 33 | } 34 | .iradio_flat-red.checked { 35 | background-position: -110px 0; 36 | } 37 | .iradio_flat-red.disabled { 38 | background-position: -132px 0; 39 | cursor: default; 40 | } 41 | .iradio_flat-red.checked.disabled { 42 | background-position: -154px 0; 43 | } 44 | 45 | /* Retina support */ 46 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5), 47 | only screen and (-moz-min-device-pixel-ratio: 1.5), 48 | only screen and (-o-min-device-pixel-ratio: 3/2), 49 | only screen and (min-device-pixel-ratio: 1.5) { 50 | .icheckbox_flat-red, 51 | .iradio_flat-red { 52 | background-image: url(red@2x.png); 53 | -webkit-background-size: 176px 22px; 54 | background-size: 176px 22px; 55 | } 56 | } -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/flat/red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orientsoft/kubekit/3b2578afe2d38034fb8297b2907090de26fcf7df/assets/libs/jquery-icheck/skins/flat/red.png -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/flat/red@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orientsoft/kubekit/3b2578afe2d38034fb8297b2907090de26fcf7df/assets/libs/jquery-icheck/skins/flat/red@2x.png -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/flat/yellow.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Flat skin, yellow 2 | ----------------------------------- */ 3 | .icheckbox_flat-yellow, 4 | .iradio_flat-yellow { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 20px; 11 | height: 20px; 12 | background: url(yellow.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_flat-yellow { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_flat-yellow.checked { 21 | background-position: -22px 0; 22 | } 23 | .icheckbox_flat-yellow.disabled { 24 | background-position: -44px 0; 25 | cursor: default; 26 | } 27 | .icheckbox_flat-yellow.checked.disabled { 28 | background-position: -66px 0; 29 | } 30 | 31 | .iradio_flat-yellow { 32 | background-position: -88px 0; 33 | } 34 | .iradio_flat-yellow.checked { 35 | background-position: -110px 0; 36 | } 37 | .iradio_flat-yellow.disabled { 38 | background-position: -132px 0; 39 | cursor: default; 40 | } 41 | .iradio_flat-yellow.checked.disabled { 42 | background-position: -154px 0; 43 | } 44 | 45 | /* Retina support */ 46 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5), 47 | only screen and (-moz-min-device-pixel-ratio: 1.5), 48 | only screen and (-o-min-device-pixel-ratio: 3/2), 49 | only screen and (min-device-pixel-ratio: 1.5) { 50 | .icheckbox_flat-yellow, 51 | .iradio_flat-yellow { 52 | background-image: url(yellow@2x.png); 53 | -webkit-background-size: 176px 22px; 54 | background-size: 176px 22px; 55 | } 56 | } -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/flat/yellow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orientsoft/kubekit/3b2578afe2d38034fb8297b2907090de26fcf7df/assets/libs/jquery-icheck/skins/flat/yellow.png -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/flat/yellow@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orientsoft/kubekit/3b2578afe2d38034fb8297b2907090de26fcf7df/assets/libs/jquery-icheck/skins/flat/yellow@2x.png -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/futurico/futurico.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Futurico skin 2 | ----------------------------------- */ 3 | .icheckbox_futurico, 4 | .iradio_futurico { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 16px; 11 | height: 17px; 12 | background: url(futurico.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_futurico { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_futurico.checked { 21 | background-position: -18px 0; 22 | } 23 | .icheckbox_futurico.disabled { 24 | background-position: -36px 0; 25 | cursor: default; 26 | } 27 | .icheckbox_futurico.checked.disabled { 28 | background-position: -54px 0; 29 | } 30 | 31 | .iradio_futurico { 32 | background-position: -72px 0; 33 | } 34 | .iradio_futurico.checked { 35 | background-position: -90px 0; 36 | } 37 | .iradio_futurico.disabled { 38 | background-position: -108px 0; 39 | cursor: default; 40 | } 41 | .iradio_futurico.checked.disabled { 42 | background-position: -126px 0; 43 | } 44 | 45 | /* Retina support */ 46 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5), 47 | only screen and (-moz-min-device-pixel-ratio: 1.5), 48 | only screen and (-o-min-device-pixel-ratio: 3/2), 49 | only screen and (min-device-pixel-ratio: 1.5) { 50 | .icheckbox_futurico, 51 | .iradio_futurico { 52 | background-image: url(futurico@2x.png); 53 | -webkit-background-size: 144px 19px; 54 | background-size: 144px 19px; 55 | } 56 | } -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/futurico/futurico.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orientsoft/kubekit/3b2578afe2d38034fb8297b2907090de26fcf7df/assets/libs/jquery-icheck/skins/futurico/futurico.png -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/futurico/futurico@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orientsoft/kubekit/3b2578afe2d38034fb8297b2907090de26fcf7df/assets/libs/jquery-icheck/skins/futurico/futurico@2x.png -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/line/aero.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Line skin, aero 2 | ----------------------------------- */ 3 | .icheckbox_line-aero, 4 | .iradio_line-aero { 5 | position: relative; 6 | display: block; 7 | margin: 0; 8 | padding: 5px 15px 5px 38px; 9 | font-size: 13px; 10 | line-height: 17px; 11 | color: #fff; 12 | background: #9cc2cb; 13 | border: none; 14 | -webkit-border-radius: 3px; 15 | -moz-border-radius: 3px; 16 | border-radius: 3px; 17 | cursor: pointer; 18 | } 19 | .icheckbox_line-aero .icheck_line-icon, 20 | .iradio_line-aero .icheck_line-icon { 21 | position: absolute; 22 | top: 50%; 23 | left: 13px; 24 | width: 13px; 25 | height: 11px; 26 | margin: -5px 0 0 0; 27 | padding: 0; 28 | overflow: hidden; 29 | background: url(line.png) no-repeat; 30 | border: none; 31 | } 32 | .icheckbox_line-aero.hover, 33 | .icheckbox_line-aero.checked.hover, 34 | .iradio_line-aero.hover { 35 | background: #B5D1D8; 36 | } 37 | .icheckbox_line-aero.checked, 38 | .iradio_line-aero.checked { 39 | background: #9cc2cb; 40 | } 41 | .icheckbox_line-aero.checked .icheck_line-icon, 42 | .iradio_line-aero.checked .icheck_line-icon { 43 | background-position: -15px 0; 44 | } 45 | .icheckbox_line-aero.disabled, 46 | .iradio_line-aero.disabled { 47 | background: #D2E4E8; 48 | cursor: default; 49 | } 50 | .icheckbox_line-aero.disabled .icheck_line-icon, 51 | .iradio_line-aero.disabled .icheck_line-icon { 52 | background-position: -30px 0; 53 | } 54 | .icheckbox_line-aero.checked.disabled, 55 | .iradio_line-aero.checked.disabled { 56 | background: #D2E4E8; 57 | } 58 | .icheckbox_line-aero.checked.disabled .icheck_line-icon, 59 | .iradio_line-aero.checked.disabled .icheck_line-icon { 60 | background-position: -45px 0; 61 | } 62 | 63 | /* Retina support */ 64 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5), 65 | only screen and (-moz-min-device-pixel-ratio: 1.5), 66 | only screen and (-o-min-device-pixel-ratio: 3/2), 67 | only screen and (min-device-pixel-ratio: 1.5) { 68 | .icheckbox_line-aero .icheck_line-icon, 69 | .iradio_line-aero .icheck_line-icon { 70 | background-image: url(line@2x.png); 71 | -webkit-background-size: 60px 13px; 72 | background-size: 60px 13px; 73 | } 74 | } -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/line/blue.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Line skin, blue 2 | ----------------------------------- */ 3 | .icheckbox_line-blue, 4 | .iradio_line-blue { 5 | position: relative; 6 | display: block; 7 | margin: 0; 8 | padding: 5px 15px 5px 38px; 9 | font-size: 13px; 10 | line-height: 17px; 11 | color: #fff; 12 | background: #2489c5; 13 | border: none; 14 | -webkit-border-radius: 3px; 15 | -moz-border-radius: 3px; 16 | border-radius: 3px; 17 | cursor: pointer; 18 | } 19 | .icheckbox_line-blue .icheck_line-icon, 20 | .iradio_line-blue .icheck_line-icon { 21 | position: absolute; 22 | top: 50%; 23 | left: 13px; 24 | width: 13px; 25 | height: 11px; 26 | margin: -5px 0 0 0; 27 | padding: 0; 28 | overflow: hidden; 29 | background: url(line.png) no-repeat; 30 | border: none; 31 | } 32 | .icheckbox_line-blue.hover, 33 | .icheckbox_line-blue.checked.hover, 34 | .iradio_line-blue.hover { 35 | background: #3DA0DB; 36 | } 37 | .icheckbox_line-blue.checked, 38 | .iradio_line-blue.checked { 39 | background: #2489c5; 40 | } 41 | .icheckbox_line-blue.checked .icheck_line-icon, 42 | .iradio_line-blue.checked .icheck_line-icon { 43 | background-position: -15px 0; 44 | } 45 | .icheckbox_line-blue.disabled, 46 | .iradio_line-blue.disabled { 47 | background: #ADD7F0; 48 | cursor: default; 49 | } 50 | .icheckbox_line-blue.disabled .icheck_line-icon, 51 | .iradio_line-blue.disabled .icheck_line-icon { 52 | background-position: -30px 0; 53 | } 54 | .icheckbox_line-blue.checked.disabled, 55 | .iradio_line-blue.checked.disabled { 56 | background: #ADD7F0; 57 | } 58 | .icheckbox_line-blue.checked.disabled .icheck_line-icon, 59 | .iradio_line-blue.checked.disabled .icheck_line-icon { 60 | background-position: -45px 0; 61 | } 62 | 63 | /* Retina support */ 64 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5), 65 | only screen and (-moz-min-device-pixel-ratio: 1.5), 66 | only screen and (-o-min-device-pixel-ratio: 3/2), 67 | only screen and (min-device-pixel-ratio: 1.5) { 68 | .icheckbox_line-blue .icheck_line-icon, 69 | .iradio_line-blue .icheck_line-icon { 70 | background-image: url(line@2x.png); 71 | -webkit-background-size: 60px 13px; 72 | background-size: 60px 13px; 73 | } 74 | } -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/line/green.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Line skin, green 2 | ----------------------------------- */ 3 | .icheckbox_line-green, 4 | .iradio_line-green { 5 | position: relative; 6 | display: block; 7 | margin: 0; 8 | padding: 5px 15px 5px 38px; 9 | font-size: 13px; 10 | line-height: 17px; 11 | color: #fff; 12 | background: #1b7e5a; 13 | border: none; 14 | -webkit-border-radius: 3px; 15 | -moz-border-radius: 3px; 16 | border-radius: 3px; 17 | cursor: pointer; 18 | } 19 | .icheckbox_line-green .icheck_line-icon, 20 | .iradio_line-green .icheck_line-icon { 21 | position: absolute; 22 | top: 50%; 23 | left: 13px; 24 | width: 13px; 25 | height: 11px; 26 | margin: -5px 0 0 0; 27 | padding: 0; 28 | overflow: hidden; 29 | background: url(line.png) no-repeat; 30 | border: none; 31 | } 32 | .icheckbox_line-green.hover, 33 | .icheckbox_line-green.checked.hover, 34 | .iradio_line-green.hover { 35 | background: #24AA7A; 36 | } 37 | .icheckbox_line-green.checked, 38 | .iradio_line-green.checked { 39 | background: #1b7e5a; 40 | } 41 | .icheckbox_line-green.checked .icheck_line-icon, 42 | .iradio_line-green.checked .icheck_line-icon { 43 | background-position: -15px 0; 44 | } 45 | .icheckbox_line-green.disabled, 46 | .iradio_line-green.disabled { 47 | background: #89E6C4; 48 | cursor: default; 49 | } 50 | .icheckbox_line-green.disabled .icheck_line-icon, 51 | .iradio_line-green.disabled .icheck_line-icon { 52 | background-position: -30px 0; 53 | } 54 | .icheckbox_line-green.checked.disabled, 55 | .iradio_line-green.checked.disabled { 56 | background: #89E6C4; 57 | } 58 | .icheckbox_line-green.checked.disabled .icheck_line-icon, 59 | .iradio_line-green.checked.disabled .icheck_line-icon { 60 | background-position: -45px 0; 61 | } 62 | 63 | /* Retina support */ 64 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5), 65 | only screen and (-moz-min-device-pixel-ratio: 1.5), 66 | only screen and (-o-min-device-pixel-ratio: 3/2), 67 | only screen and (min-device-pixel-ratio: 1.5) { 68 | .icheckbox_line-green .icheck_line-icon, 69 | .iradio_line-green .icheck_line-icon { 70 | background-image: url(line@2x.png); 71 | -webkit-background-size: 60px 13px; 72 | background-size: 60px 13px; 73 | } 74 | } -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/line/grey.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Line skin, grey 2 | ----------------------------------- */ 3 | .icheckbox_line-grey, 4 | .iradio_line-grey { 5 | position: relative; 6 | display: block; 7 | margin: 0; 8 | padding: 5px 15px 5px 38px; 9 | font-size: 13px; 10 | line-height: 17px; 11 | color: #fff; 12 | background: #73716e; 13 | border: none; 14 | -webkit-border-radius: 3px; 15 | -moz-border-radius: 3px; 16 | border-radius: 3px; 17 | cursor: pointer; 18 | } 19 | .icheckbox_line-grey .icheck_line-icon, 20 | .iradio_line-grey .icheck_line-icon { 21 | position: absolute; 22 | top: 50%; 23 | left: 13px; 24 | width: 13px; 25 | height: 11px; 26 | margin: -5px 0 0 0; 27 | padding: 0; 28 | overflow: hidden; 29 | background: url(line.png) no-repeat; 30 | border: none; 31 | } 32 | .icheckbox_line-grey.hover, 33 | .icheckbox_line-grey.checked.hover, 34 | .iradio_line-grey.hover { 35 | background: #8B8986; 36 | } 37 | .icheckbox_line-grey.checked, 38 | .iradio_line-grey.checked { 39 | background: #73716e; 40 | } 41 | .icheckbox_line-grey.checked .icheck_line-icon, 42 | .iradio_line-grey.checked .icheck_line-icon { 43 | background-position: -15px 0; 44 | } 45 | .icheckbox_line-grey.disabled, 46 | .iradio_line-grey.disabled { 47 | background: #D5D4D3; 48 | cursor: default; 49 | } 50 | .icheckbox_line-grey.disabled .icheck_line-icon, 51 | .iradio_line-grey.disabled .icheck_line-icon { 52 | background-position: -30px 0; 53 | } 54 | .icheckbox_line-grey.checked.disabled, 55 | .iradio_line-grey.checked.disabled { 56 | background: #D5D4D3; 57 | } 58 | .icheckbox_line-grey.checked.disabled .icheck_line-icon, 59 | .iradio_line-grey.checked.disabled .icheck_line-icon { 60 | background-position: -45px 0; 61 | } 62 | 63 | /* Retina support */ 64 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5), 65 | only screen and (-moz-min-device-pixel-ratio: 1.5), 66 | only screen and (-o-min-device-pixel-ratio: 3/2), 67 | only screen and (min-device-pixel-ratio: 1.5) { 68 | .icheckbox_line-grey .icheck_line-icon, 69 | .iradio_line-grey .icheck_line-icon { 70 | background-image: url(line@2x.png); 71 | -webkit-background-size: 60px 13px; 72 | background-size: 60px 13px; 73 | } 74 | } -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/line/line.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Line skin, black 2 | ----------------------------------- */ 3 | .icheckbox_line, 4 | .iradio_line { 5 | position: relative; 6 | display: block; 7 | margin: 0; 8 | padding: 5px 15px 5px 38px; 9 | font-size: 13px; 10 | line-height: 17px; 11 | color: #fff; 12 | background: #000; 13 | border: none; 14 | -webkit-border-radius: 3px; 15 | -moz-border-radius: 3px; 16 | border-radius: 3px; 17 | cursor: pointer; 18 | } 19 | .icheckbox_line .icheck_line-icon, 20 | .iradio_line .icheck_line-icon { 21 | position: absolute; 22 | top: 50%; 23 | left: 13px; 24 | width: 13px; 25 | height: 11px; 26 | margin: -5px 0 0 0; 27 | padding: 0; 28 | overflow: hidden; 29 | background: url(line.png) no-repeat; 30 | border: none; 31 | } 32 | .icheckbox_line.hover, 33 | .icheckbox_line.checked.hover, 34 | .iradio_line.hover { 35 | background: #444; 36 | } 37 | .icheckbox_line.checked, 38 | .iradio_line.checked { 39 | background: #000; 40 | } 41 | .icheckbox_line.checked .icheck_line-icon, 42 | .iradio_line.checked .icheck_line-icon { 43 | background-position: -15px 0; 44 | } 45 | .icheckbox_line.disabled, 46 | .iradio_line.disabled { 47 | background: #ccc; 48 | cursor: default; 49 | } 50 | .icheckbox_line.disabled .icheck_line-icon, 51 | .iradio_line.disabled .icheck_line-icon { 52 | background-position: -30px 0; 53 | } 54 | .icheckbox_line.checked.disabled, 55 | .iradio_line.checked.disabled { 56 | background: #ccc; 57 | } 58 | .icheckbox_line.checked.disabled .icheck_line-icon, 59 | .iradio_line.checked.disabled .icheck_line-icon { 60 | background-position: -45px 0; 61 | } 62 | 63 | /* Retina support */ 64 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5), 65 | only screen and (-moz-min-device-pixel-ratio: 1.5), 66 | only screen and (-o-min-device-pixel-ratio: 3/2), 67 | only screen and (min-device-pixel-ratio: 1.5) { 68 | .icheckbox_line .icheck_line-icon, 69 | .iradio_line .icheck_line-icon { 70 | background-image: url(line@2x.png); 71 | -webkit-background-size: 60px 13px; 72 | background-size: 60px 13px; 73 | } 74 | } -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/line/line.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orientsoft/kubekit/3b2578afe2d38034fb8297b2907090de26fcf7df/assets/libs/jquery-icheck/skins/line/line.png -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/line/line@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orientsoft/kubekit/3b2578afe2d38034fb8297b2907090de26fcf7df/assets/libs/jquery-icheck/skins/line/line@2x.png -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/line/orange.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Line skin, orange 2 | ----------------------------------- */ 3 | .icheckbox_line-orange, 4 | .iradio_line-orange { 5 | position: relative; 6 | display: block; 7 | margin: 0; 8 | padding: 5px 15px 5px 38px; 9 | font-size: 13px; 10 | line-height: 17px; 11 | color: #fff; 12 | background: #f70; 13 | border: none; 14 | -webkit-border-radius: 3px; 15 | -moz-border-radius: 3px; 16 | border-radius: 3px; 17 | cursor: pointer; 18 | } 19 | .icheckbox_line-orange .icheck_line-icon, 20 | .iradio_line-orange .icheck_line-icon { 21 | position: absolute; 22 | top: 50%; 23 | left: 13px; 24 | width: 13px; 25 | height: 11px; 26 | margin: -5px 0 0 0; 27 | padding: 0; 28 | overflow: hidden; 29 | background: url(line.png) no-repeat; 30 | border: none; 31 | } 32 | .icheckbox_line-orange.hover, 33 | .icheckbox_line-orange.checked.hover, 34 | .iradio_line-orange.hover { 35 | background: #FF9233; 36 | } 37 | .icheckbox_line-orange.checked, 38 | .iradio_line-orange.checked { 39 | background: #f70; 40 | } 41 | .icheckbox_line-orange.checked .icheck_line-icon, 42 | .iradio_line-orange.checked .icheck_line-icon { 43 | background-position: -15px 0; 44 | } 45 | .icheckbox_line-orange.disabled, 46 | .iradio_line-orange.disabled { 47 | background: #FFD6B3; 48 | cursor: default; 49 | } 50 | .icheckbox_line-orange.disabled .icheck_line-icon, 51 | .iradio_line-orange.disabled .icheck_line-icon { 52 | background-position: -30px 0; 53 | } 54 | .icheckbox_line-orange.checked.disabled, 55 | .iradio_line-orange.checked.disabled { 56 | background: #FFD6B3; 57 | } 58 | .icheckbox_line-orange.checked.disabled .icheck_line-icon, 59 | .iradio_line-orange.checked.disabled .icheck_line-icon { 60 | background-position: -45px 0; 61 | } 62 | 63 | /* Retina support */ 64 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5), 65 | only screen and (-moz-min-device-pixel-ratio: 1.5), 66 | only screen and (-o-min-device-pixel-ratio: 3/2), 67 | only screen and (min-device-pixel-ratio: 1.5) { 68 | .icheckbox_line-orange .icheck_line-icon, 69 | .iradio_line-orange .icheck_line-icon { 70 | background-image: url(line@2x.png); 71 | -webkit-background-size: 60px 13px; 72 | background-size: 60px 13px; 73 | } 74 | } -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/line/pink.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Line skin, pink 2 | ----------------------------------- */ 3 | .icheckbox_line-pink, 4 | .iradio_line-pink { 5 | position: relative; 6 | display: block; 7 | margin: 0; 8 | padding: 5px 15px 5px 38px; 9 | font-size: 13px; 10 | line-height: 17px; 11 | color: #fff; 12 | background: #a77a94; 13 | border: none; 14 | -webkit-border-radius: 3px; 15 | -moz-border-radius: 3px; 16 | border-radius: 3px; 17 | cursor: pointer; 18 | } 19 | .icheckbox_line-pink .icheck_line-icon, 20 | .iradio_line-pink .icheck_line-icon { 21 | position: absolute; 22 | top: 50%; 23 | left: 13px; 24 | width: 13px; 25 | height: 11px; 26 | margin: -5px 0 0 0; 27 | padding: 0; 28 | overflow: hidden; 29 | background: url(line.png) no-repeat; 30 | border: none; 31 | } 32 | .icheckbox_line-pink.hover, 33 | .icheckbox_line-pink.checked.hover, 34 | .iradio_line-pink.hover { 35 | background: #B995A9; 36 | } 37 | .icheckbox_line-pink.checked, 38 | .iradio_line-pink.checked { 39 | background: #a77a94; 40 | } 41 | .icheckbox_line-pink.checked .icheck_line-icon, 42 | .iradio_line-pink.checked .icheck_line-icon { 43 | background-position: -15px 0; 44 | } 45 | .icheckbox_line-pink.disabled, 46 | .iradio_line-pink.disabled { 47 | background: #E0D0DA; 48 | cursor: default; 49 | } 50 | .icheckbox_line-pink.disabled .icheck_line-icon, 51 | .iradio_line-pink.disabled .icheck_line-icon { 52 | background-position: -30px 0; 53 | } 54 | .icheckbox_line-pink.checked.disabled, 55 | .iradio_line-pink.checked.disabled { 56 | background: #E0D0DA; 57 | } 58 | .icheckbox_line-pink.checked.disabled .icheck_line-icon, 59 | .iradio_line-pink.checked.disabled .icheck_line-icon { 60 | background-position: -45px 0; 61 | } 62 | 63 | /* Retina support */ 64 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5), 65 | only screen and (-moz-min-device-pixel-ratio: 1.5), 66 | only screen and (-o-min-device-pixel-ratio: 3/2), 67 | only screen and (min-device-pixel-ratio: 1.5) { 68 | .icheckbox_line-pink .icheck_line-icon, 69 | .iradio_line-pink .icheck_line-icon { 70 | background-image: url(line@2x.png); 71 | -webkit-background-size: 60px 13px; 72 | background-size: 60px 13px; 73 | } 74 | } -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/line/purple.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Line skin, purple 2 | ----------------------------------- */ 3 | .icheckbox_line-purple, 4 | .iradio_line-purple { 5 | position: relative; 6 | display: block; 7 | margin: 0; 8 | padding: 5px 15px 5px 38px; 9 | font-size: 13px; 10 | line-height: 17px; 11 | color: #fff; 12 | background: #6a5a8c; 13 | border: none; 14 | -webkit-border-radius: 3px; 15 | -moz-border-radius: 3px; 16 | border-radius: 3px; 17 | cursor: pointer; 18 | } 19 | .icheckbox_line-purple .icheck_line-icon, 20 | .iradio_line-purple .icheck_line-icon { 21 | position: absolute; 22 | top: 50%; 23 | left: 13px; 24 | width: 13px; 25 | height: 11px; 26 | margin: -5px 0 0 0; 27 | padding: 0; 28 | overflow: hidden; 29 | background: url(line.png) no-repeat; 30 | border: none; 31 | } 32 | .icheckbox_line-purple.hover, 33 | .icheckbox_line-purple.checked.hover, 34 | .iradio_line-purple.hover { 35 | background: #8677A7; 36 | } 37 | .icheckbox_line-purple.checked, 38 | .iradio_line-purple.checked { 39 | background: #6a5a8c; 40 | } 41 | .icheckbox_line-purple.checked .icheck_line-icon, 42 | .iradio_line-purple.checked .icheck_line-icon { 43 | background-position: -15px 0; 44 | } 45 | .icheckbox_line-purple.disabled, 46 | .iradio_line-purple.disabled { 47 | background: #D2CCDE; 48 | cursor: default; 49 | } 50 | .icheckbox_line-purple.disabled .icheck_line-icon, 51 | .iradio_line-purple.disabled .icheck_line-icon { 52 | background-position: -30px 0; 53 | } 54 | .icheckbox_line-purple.checked.disabled, 55 | .iradio_line-purple.checked.disabled { 56 | background: #D2CCDE; 57 | } 58 | .icheckbox_line-purple.checked.disabled .icheck_line-icon, 59 | .iradio_line-purple.checked.disabled .icheck_line-icon { 60 | background-position: -45px 0; 61 | } 62 | 63 | /* Retina support */ 64 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5), 65 | only screen and (-moz-min-device-pixel-ratio: 1.5), 66 | only screen and (-o-min-device-pixel-ratio: 3/2), 67 | only screen and (min-device-pixel-ratio: 1.5) { 68 | .icheckbox_line-purple .icheck_line-icon, 69 | .iradio_line-purple .icheck_line-icon { 70 | background-image: url(line@2x.png); 71 | -webkit-background-size: 60px 13px; 72 | background-size: 60px 13px; 73 | } 74 | } -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/line/red.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Line skin, red 2 | ----------------------------------- */ 3 | .icheckbox_line-red, 4 | .iradio_line-red { 5 | position: relative; 6 | display: block; 7 | margin: 0; 8 | padding: 5px 15px 5px 38px; 9 | font-size: 13px; 10 | line-height: 17px; 11 | color: #fff; 12 | background: #e56c69; 13 | border: none; 14 | -webkit-border-radius: 3px; 15 | -moz-border-radius: 3px; 16 | border-radius: 3px; 17 | cursor: pointer; 18 | } 19 | .icheckbox_line-red .icheck_line-icon, 20 | .iradio_line-red .icheck_line-icon { 21 | position: absolute; 22 | top: 50%; 23 | left: 13px; 24 | width: 13px; 25 | height: 11px; 26 | margin: -5px 0 0 0; 27 | padding: 0; 28 | overflow: hidden; 29 | background: url(line.png) no-repeat; 30 | border: none; 31 | } 32 | .icheckbox_line-red.hover, 33 | .icheckbox_line-red.checked.hover, 34 | .iradio_line-red.hover { 35 | background: #E98582; 36 | } 37 | .icheckbox_line-red.checked, 38 | .iradio_line-red.checked { 39 | background: #e56c69; 40 | } 41 | .icheckbox_line-red.checked .icheck_line-icon, 42 | .iradio_line-red.checked .icheck_line-icon { 43 | background-position: -15px 0; 44 | } 45 | .icheckbox_line-red.disabled, 46 | .iradio_line-red.disabled { 47 | background: #F7D3D2; 48 | cursor: default; 49 | } 50 | .icheckbox_line-red.disabled .icheck_line-icon, 51 | .iradio_line-red.disabled .icheck_line-icon { 52 | background-position: -30px 0; 53 | } 54 | .icheckbox_line-red.checked.disabled, 55 | .iradio_line-red.checked.disabled { 56 | background: #F7D3D2; 57 | } 58 | .icheckbox_line-red.checked.disabled .icheck_line-icon, 59 | .iradio_line-red.checked.disabled .icheck_line-icon { 60 | background-position: -45px 0; 61 | } 62 | 63 | /* Retina support */ 64 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5), 65 | only screen and (-moz-min-device-pixel-ratio: 1.5), 66 | only screen and (-o-min-device-pixel-ratio: 3/2), 67 | only screen and (min-device-pixel-ratio: 1.5) { 68 | .icheckbox_line-red .icheck_line-icon, 69 | .iradio_line-red .icheck_line-icon { 70 | background-image: url(line@2x.png); 71 | -webkit-background-size: 60px 13px; 72 | background-size: 60px 13px; 73 | } 74 | } -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/line/yellow.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Line skin, yellow 2 | ----------------------------------- */ 3 | .icheckbox_line-yellow, 4 | .iradio_line-yellow { 5 | position: relative; 6 | display: block; 7 | margin: 0; 8 | padding: 5px 15px 5px 38px; 9 | font-size: 13px; 10 | line-height: 17px; 11 | color: #fff; 12 | background: #FFC414; 13 | border: none; 14 | -webkit-border-radius: 3px; 15 | -moz-border-radius: 3px; 16 | border-radius: 3px; 17 | cursor: pointer; 18 | } 19 | .icheckbox_line-yellow .icheck_line-icon, 20 | .iradio_line-yellow .icheck_line-icon { 21 | position: absolute; 22 | top: 50%; 23 | left: 13px; 24 | width: 13px; 25 | height: 11px; 26 | margin: -5px 0 0 0; 27 | padding: 0; 28 | overflow: hidden; 29 | background: url(line.png) no-repeat; 30 | border: none; 31 | } 32 | .icheckbox_line-yellow.hover, 33 | .icheckbox_line-yellow.checked.hover, 34 | .iradio_line-yellow.hover { 35 | background: #FFD34F; 36 | } 37 | .icheckbox_line-yellow.checked, 38 | .iradio_line-yellow.checked { 39 | background: #FFC414; 40 | } 41 | .icheckbox_line-yellow.checked .icheck_line-icon, 42 | .iradio_line-yellow.checked .icheck_line-icon { 43 | background-position: -15px 0; 44 | } 45 | .icheckbox_line-yellow.disabled, 46 | .iradio_line-yellow.disabled { 47 | background: #FFE495; 48 | cursor: default; 49 | } 50 | .icheckbox_line-yellow.disabled .icheck_line-icon, 51 | .iradio_line-yellow.disabled .icheck_line-icon { 52 | background-position: -30px 0; 53 | } 54 | .icheckbox_line-yellow.checked.disabled, 55 | .iradio_line-yellow.checked.disabled { 56 | background: #FFE495; 57 | } 58 | .icheckbox_line-yellow.checked.disabled .icheck_line-icon, 59 | .iradio_line-yellow.checked.disabled .icheck_line-icon { 60 | background-position: -45px 0; 61 | } 62 | 63 | /* Retina support */ 64 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5), 65 | only screen and (-moz-min-device-pixel-ratio: 1.5), 66 | only screen and (-o-min-device-pixel-ratio: 3/2), 67 | only screen and (min-device-pixel-ratio: 1.5) { 68 | .icheckbox_line-yellow .icheck_line-icon, 69 | .iradio_line-yellow .icheck_line-icon { 70 | background-image: url(line@2x.png); 71 | -webkit-background-size: 60px 13px; 72 | background-size: 60px 13px; 73 | } 74 | } -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/minimal/aero.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Minimal skin, aero 2 | ----------------------------------- */ 3 | .icheckbox_minimal-aero, 4 | .iradio_minimal-aero { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 18px; 11 | height: 18px; 12 | background: url(aero.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_minimal-aero { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_minimal-aero.hover { 21 | background-position: -20px 0; 22 | } 23 | .icheckbox_minimal-aero.checked { 24 | background-position: -40px 0; 25 | } 26 | .icheckbox_minimal-aero.disabled { 27 | background-position: -60px 0; 28 | cursor: default; 29 | } 30 | .icheckbox_minimal-aero.checked.disabled { 31 | background-position: -80px 0; 32 | } 33 | 34 | .iradio_minimal-aero { 35 | background-position: -100px 0; 36 | } 37 | .iradio_minimal-aero.hover { 38 | background-position: -120px 0; 39 | } 40 | .iradio_minimal-aero.checked { 41 | background-position: -140px 0; 42 | } 43 | .iradio_minimal-aero.disabled { 44 | background-position: -160px 0; 45 | cursor: default; 46 | } 47 | .iradio_minimal-aero.checked.disabled { 48 | background-position: -180px 0; 49 | } 50 | 51 | /* Retina support */ 52 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5), 53 | only screen and (-moz-min-device-pixel-ratio: 1.5), 54 | only screen and (-o-min-device-pixel-ratio: 3/2), 55 | only screen and (min-device-pixel-ratio: 1.5) { 56 | .icheckbox_minimal-aero, 57 | .iradio_minimal-aero { 58 | background-image: url(aero@2x.png); 59 | -webkit-background-size: 200px 20px; 60 | background-size: 200px 20px; 61 | } 62 | } -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/minimal/aero.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orientsoft/kubekit/3b2578afe2d38034fb8297b2907090de26fcf7df/assets/libs/jquery-icheck/skins/minimal/aero.png -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/minimal/aero@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orientsoft/kubekit/3b2578afe2d38034fb8297b2907090de26fcf7df/assets/libs/jquery-icheck/skins/minimal/aero@2x.png -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/minimal/blue.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Minimal skin, blue 2 | ----------------------------------- */ 3 | .icheckbox_minimal-blue, 4 | .iradio_minimal-blue { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 18px; 11 | height: 18px; 12 | background: url(blue.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_minimal-blue { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_minimal-blue.hover { 21 | background-position: -20px 0; 22 | } 23 | .icheckbox_minimal-blue.checked { 24 | background-position: -40px 0; 25 | } 26 | .icheckbox_minimal-blue.disabled { 27 | background-position: -60px 0; 28 | cursor: default; 29 | } 30 | .icheckbox_minimal-blue.checked.disabled { 31 | background-position: -80px 0; 32 | } 33 | 34 | .iradio_minimal-blue { 35 | background-position: -100px 0; 36 | } 37 | .iradio_minimal-blue.hover { 38 | background-position: -120px 0; 39 | } 40 | .iradio_minimal-blue.checked { 41 | background-position: -140px 0; 42 | } 43 | .iradio_minimal-blue.disabled { 44 | background-position: -160px 0; 45 | cursor: default; 46 | } 47 | .iradio_minimal-blue.checked.disabled { 48 | background-position: -180px 0; 49 | } 50 | 51 | /* Retina support */ 52 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5), 53 | only screen and (-moz-min-device-pixel-ratio: 1.5), 54 | only screen and (-o-min-device-pixel-ratio: 3/2), 55 | only screen and (min-device-pixel-ratio: 1.5) { 56 | .icheckbox_minimal-blue, 57 | .iradio_minimal-blue { 58 | background-image: url(blue@2x.png); 59 | -webkit-background-size: 200px 20px; 60 | background-size: 200px 20px; 61 | } 62 | } -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/minimal/blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orientsoft/kubekit/3b2578afe2d38034fb8297b2907090de26fcf7df/assets/libs/jquery-icheck/skins/minimal/blue.png -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/minimal/blue@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orientsoft/kubekit/3b2578afe2d38034fb8297b2907090de26fcf7df/assets/libs/jquery-icheck/skins/minimal/blue@2x.png -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/minimal/green.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Minimal skin, green 2 | ----------------------------------- */ 3 | .icheckbox_minimal-green, 4 | .iradio_minimal-green { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 18px; 11 | height: 18px; 12 | background: url(green.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_minimal-green { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_minimal-green.hover { 21 | background-position: -20px 0; 22 | } 23 | .icheckbox_minimal-green.checked { 24 | background-position: -40px 0; 25 | } 26 | .icheckbox_minimal-green.disabled { 27 | background-position: -60px 0; 28 | cursor: default; 29 | } 30 | .icheckbox_minimal-green.checked.disabled { 31 | background-position: -80px 0; 32 | } 33 | 34 | .iradio_minimal-green { 35 | background-position: -100px 0; 36 | } 37 | .iradio_minimal-green.hover { 38 | background-position: -120px 0; 39 | } 40 | .iradio_minimal-green.checked { 41 | background-position: -140px 0; 42 | } 43 | .iradio_minimal-green.disabled { 44 | background-position: -160px 0; 45 | cursor: default; 46 | } 47 | .iradio_minimal-green.checked.disabled { 48 | background-position: -180px 0; 49 | } 50 | 51 | /* Retina support */ 52 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5), 53 | only screen and (-moz-min-device-pixel-ratio: 1.5), 54 | only screen and (-o-min-device-pixel-ratio: 1.5), 55 | only screen and (min-device-pixel-ratio: 1.5) { 56 | .icheckbox_minimal-green, 57 | .iradio_minimal-green { 58 | background-image: url(green@2x.png); 59 | -webkit-background-size: 200px 20px; 60 | background-size: 200px 20px; 61 | } 62 | } -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/minimal/green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orientsoft/kubekit/3b2578afe2d38034fb8297b2907090de26fcf7df/assets/libs/jquery-icheck/skins/minimal/green.png -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/minimal/green@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orientsoft/kubekit/3b2578afe2d38034fb8297b2907090de26fcf7df/assets/libs/jquery-icheck/skins/minimal/green@2x.png -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/minimal/grey.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Minimal skin, grey 2 | ----------------------------------- */ 3 | .icheckbox_minimal-grey, 4 | .iradio_minimal-grey { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 18px; 11 | height: 18px; 12 | background: url(grey.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_minimal-grey { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_minimal-grey.hover { 21 | background-position: -20px 0; 22 | } 23 | .icheckbox_minimal-grey.checked { 24 | background-position: -40px 0; 25 | } 26 | .icheckbox_minimal-grey.disabled { 27 | background-position: -60px 0; 28 | cursor: default; 29 | } 30 | .icheckbox_minimal-grey.checked.disabled { 31 | background-position: -80px 0; 32 | } 33 | 34 | .iradio_minimal-grey { 35 | background-position: -100px 0; 36 | } 37 | .iradio_minimal-grey.hover { 38 | background-position: -120px 0; 39 | } 40 | .iradio_minimal-grey.checked { 41 | background-position: -140px 0; 42 | } 43 | .iradio_minimal-grey.disabled { 44 | background-position: -160px 0; 45 | cursor: default; 46 | } 47 | .iradio_minimal-grey.checked.disabled { 48 | background-position: -180px 0; 49 | } 50 | 51 | /* Retina support */ 52 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5), 53 | only screen and (-moz-min-device-pixel-ratio: 1.5), 54 | only screen and (-o-min-device-pixel-ratio: 1.5), 55 | only screen and (min-device-pixel-ratio: 1.5) { 56 | .icheckbox_minimal-grey, 57 | .iradio_minimal-grey { 58 | background-image: url(grey@2x.png); 59 | -webkit-background-size: 200px 20px; 60 | background-size: 200px 20px; 61 | } 62 | } -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/minimal/grey.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orientsoft/kubekit/3b2578afe2d38034fb8297b2907090de26fcf7df/assets/libs/jquery-icheck/skins/minimal/grey.png -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/minimal/grey@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orientsoft/kubekit/3b2578afe2d38034fb8297b2907090de26fcf7df/assets/libs/jquery-icheck/skins/minimal/grey@2x.png -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/minimal/minimal.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Minimal skin, black 2 | ----------------------------------- */ 3 | .icheckbox_minimal, 4 | .iradio_minimal { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 18px; 11 | height: 18px; 12 | background: url(minimal.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_minimal { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_minimal.hover { 21 | background-position: -20px 0; 22 | } 23 | .icheckbox_minimal.checked { 24 | background-position: -40px 0; 25 | } 26 | .icheckbox_minimal.disabled { 27 | background-position: -60px 0; 28 | cursor: default; 29 | } 30 | .icheckbox_minimal.checked.disabled { 31 | background-position: -80px 0; 32 | } 33 | 34 | .iradio_minimal { 35 | background-position: -100px 0; 36 | } 37 | .iradio_minimal.hover { 38 | background-position: -120px 0; 39 | } 40 | .iradio_minimal.checked { 41 | background-position: -140px 0; 42 | } 43 | .iradio_minimal.disabled { 44 | background-position: -160px 0; 45 | cursor: default; 46 | } 47 | .iradio_minimal.checked.disabled { 48 | background-position: -180px 0; 49 | } 50 | 51 | /* Retina support */ 52 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5), 53 | only screen and (-moz-min-device-pixel-ratio: 1.5), 54 | only screen and (-o-min-device-pixel-ratio: 3/2), 55 | only screen and (min-device-pixel-ratio: 1.5) { 56 | .icheckbox_minimal, 57 | .iradio_minimal { 58 | background-image: url(minimal@2x.png); 59 | -webkit-background-size: 200px 20px; 60 | background-size: 200px 20px; 61 | } 62 | } -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/minimal/minimal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orientsoft/kubekit/3b2578afe2d38034fb8297b2907090de26fcf7df/assets/libs/jquery-icheck/skins/minimal/minimal.png -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/minimal/minimal@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orientsoft/kubekit/3b2578afe2d38034fb8297b2907090de26fcf7df/assets/libs/jquery-icheck/skins/minimal/minimal@2x.png -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/minimal/orange.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Minimal skin, orange 2 | ----------------------------------- */ 3 | .icheckbox_minimal-orange, 4 | .iradio_minimal-orange { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 18px; 11 | height: 18px; 12 | background: url(orange.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_minimal-orange { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_minimal-orange.hover { 21 | background-position: -20px 0; 22 | } 23 | .icheckbox_minimal-orange.checked { 24 | background-position: -40px 0; 25 | } 26 | .icheckbox_minimal-orange.disabled { 27 | background-position: -60px 0; 28 | cursor: default; 29 | } 30 | .icheckbox_minimal-orange.checked.disabled { 31 | background-position: -80px 0; 32 | } 33 | 34 | .iradio_minimal-orange { 35 | background-position: -100px 0; 36 | } 37 | .iradio_minimal-orange.hover { 38 | background-position: -120px 0; 39 | } 40 | .iradio_minimal-orange.checked { 41 | background-position: -140px 0; 42 | } 43 | .iradio_minimal-orange.disabled { 44 | background-position: -160px 0; 45 | cursor: default; 46 | } 47 | .iradio_minimal-orange.checked.disabled { 48 | background-position: -180px 0; 49 | } 50 | 51 | /* Retina support */ 52 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5), 53 | only screen and (-moz-min-device-pixel-ratio: 1.5), 54 | only screen and (-o-min-device-pixel-ratio: 1.5), 55 | only screen and (min-device-pixel-ratio: 1.5) { 56 | .icheckbox_minimal-orange, 57 | .iradio_minimal-orange { 58 | background-image: url(orange@2x.png); 59 | -webkit-background-size: 200px 20px; 60 | background-size: 200px 20px; 61 | } 62 | } -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/minimal/orange.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orientsoft/kubekit/3b2578afe2d38034fb8297b2907090de26fcf7df/assets/libs/jquery-icheck/skins/minimal/orange.png -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/minimal/orange@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orientsoft/kubekit/3b2578afe2d38034fb8297b2907090de26fcf7df/assets/libs/jquery-icheck/skins/minimal/orange@2x.png -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/minimal/pink.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Minimal skin, pink 2 | ----------------------------------- */ 3 | .icheckbox_minimal-pink, 4 | .iradio_minimal-pink { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 18px; 11 | height: 18px; 12 | background: url(pink.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_minimal-pink { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_minimal-pink.hover { 21 | background-position: -20px 0; 22 | } 23 | .icheckbox_minimal-pink.checked { 24 | background-position: -40px 0; 25 | } 26 | .icheckbox_minimal-pink.disabled { 27 | background-position: -60px 0; 28 | cursor: default; 29 | } 30 | .icheckbox_minimal-pink.checked.disabled { 31 | background-position: -80px 0; 32 | } 33 | 34 | .iradio_minimal-pink { 35 | background-position: -100px 0; 36 | } 37 | .iradio_minimal-pink.hover { 38 | background-position: -120px 0; 39 | } 40 | .iradio_minimal-pink.checked { 41 | background-position: -140px 0; 42 | } 43 | .iradio_minimal-pink.disabled { 44 | background-position: -160px 0; 45 | cursor: default; 46 | } 47 | .iradio_minimal-pink.checked.disabled { 48 | background-position: -180px 0; 49 | } 50 | 51 | /* Retina support */ 52 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5), 53 | only screen and (-moz-min-device-pixel-ratio: 1.5), 54 | only screen and (-o-min-device-pixel-ratio: 1.5), 55 | only screen and (min-device-pixel-ratio: 1.5) { 56 | .icheckbox_minimal-pink, 57 | .iradio_minimal-pink { 58 | background-image: url(pink@2x.png); 59 | -webkit-background-size: 200px 20px; 60 | background-size: 200px 20px; 61 | } 62 | } -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/minimal/pink.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orientsoft/kubekit/3b2578afe2d38034fb8297b2907090de26fcf7df/assets/libs/jquery-icheck/skins/minimal/pink.png -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/minimal/pink@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orientsoft/kubekit/3b2578afe2d38034fb8297b2907090de26fcf7df/assets/libs/jquery-icheck/skins/minimal/pink@2x.png -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/minimal/purple.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Minimal skin, purple 2 | ----------------------------------- */ 3 | .icheckbox_minimal-purple, 4 | .iradio_minimal-purple { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 18px; 11 | height: 18px; 12 | background: url(purple.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_minimal-purple { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_minimal-purple.hover { 21 | background-position: -20px 0; 22 | } 23 | .icheckbox_minimal-purple.checked { 24 | background-position: -40px 0; 25 | } 26 | .icheckbox_minimal-purple.disabled { 27 | background-position: -60px 0; 28 | cursor: default; 29 | } 30 | .icheckbox_minimal-purple.checked.disabled { 31 | background-position: -80px 0; 32 | } 33 | 34 | .iradio_minimal-purple { 35 | background-position: -100px 0; 36 | } 37 | .iradio_minimal-purple.hover { 38 | background-position: -120px 0; 39 | } 40 | .iradio_minimal-purple.checked { 41 | background-position: -140px 0; 42 | } 43 | .iradio_minimal-purple.disabled { 44 | background-position: -160px 0; 45 | cursor: default; 46 | } 47 | .iradio_minimal-purple.checked.disabled { 48 | background-position: -180px 0; 49 | } 50 | 51 | /* Retina support */ 52 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5), 53 | only screen and (-moz-min-device-pixel-ratio: 1.5), 54 | only screen and (-o-min-device-pixel-ratio: 1.5), 55 | only screen and (min-device-pixel-ratio: 1.5) { 56 | .icheckbox_minimal-purple, 57 | .iradio_minimal-purple { 58 | background-image: url(purple@2x.png); 59 | -webkit-background-size: 200px 20px; 60 | background-size: 200px 20px; 61 | } 62 | } -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/minimal/purple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orientsoft/kubekit/3b2578afe2d38034fb8297b2907090de26fcf7df/assets/libs/jquery-icheck/skins/minimal/purple.png -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/minimal/purple@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orientsoft/kubekit/3b2578afe2d38034fb8297b2907090de26fcf7df/assets/libs/jquery-icheck/skins/minimal/purple@2x.png -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/minimal/red.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Minimal skin, red 2 | ----------------------------------- */ 3 | .icheckbox_minimal-red, 4 | .iradio_minimal-red { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 18px; 11 | height: 18px; 12 | background: url(red.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_minimal-red { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_minimal-red.hover { 21 | background-position: -20px 0; 22 | } 23 | .icheckbox_minimal-red.checked { 24 | background-position: -40px 0; 25 | } 26 | .icheckbox_minimal-red.disabled { 27 | background-position: -60px 0; 28 | cursor: default; 29 | } 30 | .icheckbox_minimal-red.checked.disabled { 31 | background-position: -80px 0; 32 | } 33 | 34 | .iradio_minimal-red { 35 | background-position: -100px 0; 36 | } 37 | .iradio_minimal-red.hover { 38 | background-position: -120px 0; 39 | } 40 | .iradio_minimal-red.checked { 41 | background-position: -140px 0; 42 | } 43 | .iradio_minimal-red.disabled { 44 | background-position: -160px 0; 45 | cursor: default; 46 | } 47 | .iradio_minimal-red.checked.disabled { 48 | background-position: -180px 0; 49 | } 50 | 51 | /* Retina support */ 52 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5), 53 | only screen and (-moz-min-device-pixel-ratio: 1.5), 54 | only screen and (-o-min-device-pixel-ratio: 1.5), 55 | only screen and (min-device-pixel-ratio: 1.5) { 56 | .icheckbox_minimal-red, 57 | .iradio_minimal-red { 58 | background-image: url(red@2x.png); 59 | -webkit-background-size: 200px 20px; 60 | background-size: 200px 20px; 61 | } 62 | } -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/minimal/red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orientsoft/kubekit/3b2578afe2d38034fb8297b2907090de26fcf7df/assets/libs/jquery-icheck/skins/minimal/red.png -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/minimal/red@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orientsoft/kubekit/3b2578afe2d38034fb8297b2907090de26fcf7df/assets/libs/jquery-icheck/skins/minimal/red@2x.png -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/minimal/yellow.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Minimal skin, yellow 2 | ----------------------------------- */ 3 | .icheckbox_minimal-yellow, 4 | .iradio_minimal-yellow { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 18px; 11 | height: 18px; 12 | background: url(yellow.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_minimal-yellow { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_minimal-yellow.hover { 21 | background-position: -20px 0; 22 | } 23 | .icheckbox_minimal-yellow.checked { 24 | background-position: -40px 0; 25 | } 26 | .icheckbox_minimal-yellow.disabled { 27 | background-position: -60px 0; 28 | cursor: default; 29 | } 30 | .icheckbox_minimal-yellow.checked.disabled { 31 | background-position: -80px 0; 32 | } 33 | 34 | .iradio_minimal-yellow { 35 | background-position: -100px 0; 36 | } 37 | .iradio_minimal-yellow.hover { 38 | background-position: -120px 0; 39 | } 40 | .iradio_minimal-yellow.checked { 41 | background-position: -140px 0; 42 | } 43 | .iradio_minimal-yellow.disabled { 44 | background-position: -160px 0; 45 | cursor: default; 46 | } 47 | .iradio_minimal-yellow.checked.disabled { 48 | background-position: -180px 0; 49 | } 50 | 51 | /* Retina support */ 52 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5), 53 | only screen and (-moz-min-device-pixel-ratio: 1.5), 54 | only screen and (-o-min-device-pixel-ratio: 1.5), 55 | only screen and (min-device-pixel-ratio: 1.5) { 56 | .icheckbox_minimal-yellow, 57 | .iradio_minimal-yellow { 58 | background-image: url(yellow@2x.png); 59 | -webkit-background-size: 200px 20px; 60 | background-size: 200px 20px; 61 | } 62 | } -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/minimal/yellow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orientsoft/kubekit/3b2578afe2d38034fb8297b2907090de26fcf7df/assets/libs/jquery-icheck/skins/minimal/yellow.png -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/minimal/yellow@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orientsoft/kubekit/3b2578afe2d38034fb8297b2907090de26fcf7df/assets/libs/jquery-icheck/skins/minimal/yellow@2x.png -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/polaris/polaris.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Polaris skin 2 | ----------------------------------- */ 3 | .icheckbox_polaris, 4 | .iradio_polaris { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 29px; 11 | height: 29px; 12 | background: url(polaris.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_polaris { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_polaris.hover { 21 | background-position: -31px 0; 22 | } 23 | .icheckbox_polaris.checked { 24 | background-position: -62px 0; 25 | } 26 | .icheckbox_polaris.disabled { 27 | background-position: -93px 0; 28 | cursor: default; 29 | } 30 | .icheckbox_polaris.checked.disabled { 31 | background-position: -124px 0; 32 | } 33 | 34 | .iradio_polaris { 35 | background-position: -155px 0; 36 | } 37 | .iradio_polaris.hover { 38 | background-position: -186px 0; 39 | } 40 | .iradio_polaris.checked { 41 | background-position: -217px 0; 42 | } 43 | .iradio_polaris.disabled { 44 | background-position: -248px 0; 45 | cursor: default; 46 | } 47 | .iradio_polaris.checked.disabled { 48 | background-position: -279px 0; 49 | } 50 | 51 | /* Retina support */ 52 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5), 53 | only screen and (-moz-min-device-pixel-ratio: 1.5), 54 | only screen and (-o-min-device-pixel-ratio: 3/2), 55 | only screen and (min-device-pixel-ratio: 1.5) { 56 | .icheckbox_polaris, 57 | .iradio_polaris { 58 | background-image: url(polaris@2x.png); 59 | -webkit-background-size: 310px 31px; 60 | background-size: 310px 31px; 61 | } 62 | } -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/polaris/polaris.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orientsoft/kubekit/3b2578afe2d38034fb8297b2907090de26fcf7df/assets/libs/jquery-icheck/skins/polaris/polaris.png -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/polaris/polaris@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orientsoft/kubekit/3b2578afe2d38034fb8297b2907090de26fcf7df/assets/libs/jquery-icheck/skins/polaris/polaris@2x.png -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/square/aero.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Square skin, aero 2 | ----------------------------------- */ 3 | .icheckbox_square-aero, 4 | .iradio_square-aero { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 22px; 11 | height: 22px; 12 | background: url(aero.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_square-aero { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_square-aero.hover { 21 | background-position: -24px 0; 22 | } 23 | .icheckbox_square-aero.checked { 24 | background-position: -48px 0; 25 | } 26 | .icheckbox_square-aero.disabled { 27 | background-position: -72px 0; 28 | cursor: default; 29 | } 30 | .icheckbox_square-aero.checked.disabled { 31 | background-position: -96px 0; 32 | } 33 | 34 | .iradio_square-aero { 35 | background-position: -120px 0; 36 | } 37 | .iradio_square-aero.hover { 38 | background-position: -144px 0; 39 | } 40 | .iradio_square-aero.checked { 41 | background-position: -168px 0; 42 | } 43 | .iradio_square-aero.disabled { 44 | background-position: -192px 0; 45 | cursor: default; 46 | } 47 | .iradio_square-aero.checked.disabled { 48 | background-position: -216px 0; 49 | } 50 | 51 | /* Retina support */ 52 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5), 53 | only screen and (-moz-min-device-pixel-ratio: 1.5), 54 | only screen and (-o-min-device-pixel-ratio: 3/2), 55 | only screen and (min-device-pixel-ratio: 1.5) { 56 | .icheckbox_square-aero, 57 | .iradio_square-aero { 58 | background-image: url(aero@2x.png); 59 | -webkit-background-size: 240px 24px; 60 | background-size: 240px 24px; 61 | } 62 | } -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/square/aero.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orientsoft/kubekit/3b2578afe2d38034fb8297b2907090de26fcf7df/assets/libs/jquery-icheck/skins/square/aero.png -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/square/aero@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orientsoft/kubekit/3b2578afe2d38034fb8297b2907090de26fcf7df/assets/libs/jquery-icheck/skins/square/aero@2x.png -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/square/blue.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Square skin, blue 2 | ----------------------------------- */ 3 | .icheckbox_square-blue, 4 | .iradio_square-blue { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 22px; 11 | height: 22px; 12 | background: url(blue.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_square-blue { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_square-blue.hover { 21 | background-position: -24px 0; 22 | } 23 | .icheckbox_square-blue.checked { 24 | background-position: -48px 0; 25 | } 26 | .icheckbox_square-blue.disabled { 27 | background-position: -72px 0; 28 | cursor: default; 29 | } 30 | .icheckbox_square-blue.checked.disabled { 31 | background-position: -96px 0; 32 | } 33 | 34 | .iradio_square-blue { 35 | background-position: -120px 0; 36 | } 37 | .iradio_square-blue.hover { 38 | background-position: -144px 0; 39 | } 40 | .iradio_square-blue.checked { 41 | background-position: -168px 0; 42 | } 43 | .iradio_square-blue.disabled { 44 | background-position: -192px 0; 45 | cursor: default; 46 | } 47 | .iradio_square-blue.checked.disabled { 48 | background-position: -216px 0; 49 | } 50 | 51 | /* Retina support */ 52 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5), 53 | only screen and (-moz-min-device-pixel-ratio: 1.5), 54 | only screen and (-o-min-device-pixel-ratio: 3/2), 55 | only screen and (min-device-pixel-ratio: 1.5) { 56 | .icheckbox_square-blue, 57 | .iradio_square-blue { 58 | background-image: url(blue@2x.png); 59 | -webkit-background-size: 240px 24px; 60 | background-size: 240px 24px; 61 | } 62 | } -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/square/blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orientsoft/kubekit/3b2578afe2d38034fb8297b2907090de26fcf7df/assets/libs/jquery-icheck/skins/square/blue.png -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/square/blue@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orientsoft/kubekit/3b2578afe2d38034fb8297b2907090de26fcf7df/assets/libs/jquery-icheck/skins/square/blue@2x.png -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/square/green.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Square skin, green 2 | ----------------------------------- */ 3 | .icheckbox_square-green, 4 | .iradio_square-green { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 22px; 11 | height: 22px; 12 | background: url(green.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_square-green { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_square-green.hover { 21 | background-position: -24px 0; 22 | } 23 | .icheckbox_square-green.checked { 24 | background-position: -48px 0; 25 | } 26 | .icheckbox_square-green.disabled { 27 | background-position: -72px 0; 28 | cursor: default; 29 | } 30 | .icheckbox_square-green.checked.disabled { 31 | background-position: -96px 0; 32 | } 33 | 34 | .iradio_square-green { 35 | background-position: -120px 0; 36 | } 37 | .iradio_square-green.hover { 38 | background-position: -144px 0; 39 | } 40 | .iradio_square-green.checked { 41 | background-position: -168px 0; 42 | } 43 | .iradio_square-green.disabled { 44 | background-position: -192px 0; 45 | cursor: default; 46 | } 47 | .iradio_square-green.checked.disabled { 48 | background-position: -216px 0; 49 | } 50 | 51 | /* Retina support */ 52 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5), 53 | only screen and (-moz-min-device-pixel-ratio: 1.5), 54 | only screen and (-o-min-device-pixel-ratio: 3/2), 55 | only screen and (min-device-pixel-ratio: 1.5) { 56 | .icheckbox_square-green, 57 | .iradio_square-green { 58 | background-image: url(green@2x.png); 59 | -webkit-background-size: 240px 24px; 60 | background-size: 240px 24px; 61 | } 62 | } -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/square/green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orientsoft/kubekit/3b2578afe2d38034fb8297b2907090de26fcf7df/assets/libs/jquery-icheck/skins/square/green.png -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/square/green@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orientsoft/kubekit/3b2578afe2d38034fb8297b2907090de26fcf7df/assets/libs/jquery-icheck/skins/square/green@2x.png -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/square/grey.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Square skin, grey 2 | ----------------------------------- */ 3 | .icheckbox_square-grey, 4 | .iradio_square-grey { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 22px; 11 | height: 22px; 12 | background: url(grey.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_square-grey { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_square-grey.hover { 21 | background-position: -24px 0; 22 | } 23 | .icheckbox_square-grey.checked { 24 | background-position: -48px 0; 25 | } 26 | .icheckbox_square-grey.disabled { 27 | background-position: -72px 0; 28 | cursor: default; 29 | } 30 | .icheckbox_square-grey.checked.disabled { 31 | background-position: -96px 0; 32 | } 33 | 34 | .iradio_square-grey { 35 | background-position: -120px 0; 36 | } 37 | .iradio_square-grey.hover { 38 | background-position: -144px 0; 39 | } 40 | .iradio_square-grey.checked { 41 | background-position: -168px 0; 42 | } 43 | .iradio_square-grey.disabled { 44 | background-position: -192px 0; 45 | cursor: default; 46 | } 47 | .iradio_square-grey.checked.disabled { 48 | background-position: -216px 0; 49 | } 50 | 51 | /* Retina support */ 52 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5), 53 | only screen and (-moz-min-device-pixel-ratio: 1.5), 54 | only screen and (-o-min-device-pixel-ratio: 3/2), 55 | only screen and (min-device-pixel-ratio: 1.5) { 56 | .icheckbox_square-grey, 57 | .iradio_square-grey { 58 | background-image: url(grey@2x.png); 59 | -webkit-background-size: 240px 24px; 60 | background-size: 240px 24px; 61 | } 62 | } -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/square/grey.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orientsoft/kubekit/3b2578afe2d38034fb8297b2907090de26fcf7df/assets/libs/jquery-icheck/skins/square/grey.png -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/square/grey@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orientsoft/kubekit/3b2578afe2d38034fb8297b2907090de26fcf7df/assets/libs/jquery-icheck/skins/square/grey@2x.png -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/square/orange.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Square skin, orange 2 | ----------------------------------- */ 3 | .icheckbox_square-orange, 4 | .iradio_square-orange { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 22px; 11 | height: 22px; 12 | background: url(orange.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_square-orange { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_square-orange.hover { 21 | background-position: -24px 0; 22 | } 23 | .icheckbox_square-orange.checked { 24 | background-position: -48px 0; 25 | } 26 | .icheckbox_square-orange.disabled { 27 | background-position: -72px 0; 28 | cursor: default; 29 | } 30 | .icheckbox_square-orange.checked.disabled { 31 | background-position: -96px 0; 32 | } 33 | 34 | .iradio_square-orange { 35 | background-position: -120px 0; 36 | } 37 | .iradio_square-orange.hover { 38 | background-position: -144px 0; 39 | } 40 | .iradio_square-orange.checked { 41 | background-position: -168px 0; 42 | } 43 | .iradio_square-orange.disabled { 44 | background-position: -192px 0; 45 | cursor: default; 46 | } 47 | .iradio_square-orange.checked.disabled { 48 | background-position: -216px 0; 49 | } 50 | 51 | /* Retina support */ 52 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5), 53 | only screen and (-moz-min-device-pixel-ratio: 1.5), 54 | only screen and (-o-min-device-pixel-ratio: 3/2), 55 | only screen and (min-device-pixel-ratio: 1.5) { 56 | .icheckbox_square-orange, 57 | .iradio_square-orange { 58 | background-image: url(orange@2x.png); 59 | -webkit-background-size: 240px 24px; 60 | background-size: 240px 24px; 61 | } 62 | } -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/square/orange.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orientsoft/kubekit/3b2578afe2d38034fb8297b2907090de26fcf7df/assets/libs/jquery-icheck/skins/square/orange.png -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/square/orange@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orientsoft/kubekit/3b2578afe2d38034fb8297b2907090de26fcf7df/assets/libs/jquery-icheck/skins/square/orange@2x.png -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/square/pink.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Square skin, pink 2 | ----------------------------------- */ 3 | .icheckbox_square-pink, 4 | .iradio_square-pink { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 22px; 11 | height: 22px; 12 | background: url(pink.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_square-pink { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_square-pink.hover { 21 | background-position: -24px 0; 22 | } 23 | .icheckbox_square-pink.checked { 24 | background-position: -48px 0; 25 | } 26 | .icheckbox_square-pink.disabled { 27 | background-position: -72px 0; 28 | cursor: default; 29 | } 30 | .icheckbox_square-pink.checked.disabled { 31 | background-position: -96px 0; 32 | } 33 | 34 | .iradio_square-pink { 35 | background-position: -120px 0; 36 | } 37 | .iradio_square-pink.hover { 38 | background-position: -144px 0; 39 | } 40 | .iradio_square-pink.checked { 41 | background-position: -168px 0; 42 | } 43 | .iradio_square-pink.disabled { 44 | background-position: -192px 0; 45 | cursor: default; 46 | } 47 | .iradio_square-pink.checked.disabled { 48 | background-position: -216px 0; 49 | } 50 | 51 | /* Retina support */ 52 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5), 53 | only screen and (-moz-min-device-pixel-ratio: 1.5), 54 | only screen and (-o-min-device-pixel-ratio: 3/2), 55 | only screen and (min-device-pixel-ratio: 1.5) { 56 | .icheckbox_square-pink, 57 | .iradio_square-pink { 58 | background-image: url(pink@2x.png); 59 | -webkit-background-size: 240px 24px; 60 | background-size: 240px 24px; 61 | } 62 | } -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/square/pink.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orientsoft/kubekit/3b2578afe2d38034fb8297b2907090de26fcf7df/assets/libs/jquery-icheck/skins/square/pink.png -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/square/pink@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orientsoft/kubekit/3b2578afe2d38034fb8297b2907090de26fcf7df/assets/libs/jquery-icheck/skins/square/pink@2x.png -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/square/purple.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Square skin, purple 2 | ----------------------------------- */ 3 | .icheckbox_square-purple, 4 | .iradio_square-purple { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 22px; 11 | height: 22px; 12 | background: url(purple.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_square-purple { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_square-purple.hover { 21 | background-position: -24px 0; 22 | } 23 | .icheckbox_square-purple.checked { 24 | background-position: -48px 0; 25 | } 26 | .icheckbox_square-purple.disabled { 27 | background-position: -72px 0; 28 | cursor: default; 29 | } 30 | .icheckbox_square-purple.checked.disabled { 31 | background-position: -96px 0; 32 | } 33 | 34 | .iradio_square-purple { 35 | background-position: -120px 0; 36 | } 37 | .iradio_square-purple.hover { 38 | background-position: -144px 0; 39 | } 40 | .iradio_square-purple.checked { 41 | background-position: -168px 0; 42 | } 43 | .iradio_square-purple.disabled { 44 | background-position: -192px 0; 45 | cursor: default; 46 | } 47 | .iradio_square-purple.checked.disabled { 48 | background-position: -216px 0; 49 | } 50 | 51 | /* Retina support */ 52 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5), 53 | only screen and (-moz-min-device-pixel-ratio: 1.5), 54 | only screen and (-o-min-device-pixel-ratio: 3/2), 55 | only screen and (min-device-pixel-ratio: 1.5) { 56 | .icheckbox_square-purple, 57 | .iradio_square-purple { 58 | background-image: url(purple@2x.png); 59 | -webkit-background-size: 240px 24px; 60 | background-size: 240px 24px; 61 | } 62 | } -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/square/purple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orientsoft/kubekit/3b2578afe2d38034fb8297b2907090de26fcf7df/assets/libs/jquery-icheck/skins/square/purple.png -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/square/purple@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orientsoft/kubekit/3b2578afe2d38034fb8297b2907090de26fcf7df/assets/libs/jquery-icheck/skins/square/purple@2x.png -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/square/red.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Square skin, red 2 | ----------------------------------- */ 3 | .icheckbox_square-red, 4 | .iradio_square-red { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 22px; 11 | height: 22px; 12 | background: url(red.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_square-red { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_square-red.hover { 21 | background-position: -24px 0; 22 | } 23 | .icheckbox_square-red.checked { 24 | background-position: -48px 0; 25 | } 26 | .icheckbox_square-red.disabled { 27 | background-position: -72px 0; 28 | cursor: default; 29 | } 30 | .icheckbox_square-red.checked.disabled { 31 | background-position: -96px 0; 32 | } 33 | 34 | .iradio_square-red { 35 | background-position: -120px 0; 36 | } 37 | .iradio_square-red.hover { 38 | background-position: -144px 0; 39 | } 40 | .iradio_square-red.checked { 41 | background-position: -168px 0; 42 | } 43 | .iradio_square-red.disabled { 44 | background-position: -192px 0; 45 | cursor: default; 46 | } 47 | .iradio_square-red.checked.disabled { 48 | background-position: -216px 0; 49 | } 50 | 51 | /* Retina support */ 52 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5), 53 | only screen and (-moz-min-device-pixel-ratio: 1.5), 54 | only screen and (-o-min-device-pixel-ratio: 3/2), 55 | only screen and (min-device-pixel-ratio: 1.5) { 56 | .icheckbox_square-red, 57 | .iradio_square-red { 58 | background-image: url(red@2x.png); 59 | -webkit-background-size: 240px 24px; 60 | background-size: 240px 24px; 61 | } 62 | } -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/square/red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orientsoft/kubekit/3b2578afe2d38034fb8297b2907090de26fcf7df/assets/libs/jquery-icheck/skins/square/red.png -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/square/red@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orientsoft/kubekit/3b2578afe2d38034fb8297b2907090de26fcf7df/assets/libs/jquery-icheck/skins/square/red@2x.png -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/square/square.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Square skin, black 2 | ----------------------------------- */ 3 | .icheckbox_square, 4 | .iradio_square { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 22px; 11 | height: 22px; 12 | background: url(square.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_square { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_square.hover { 21 | background-position: -24px 0; 22 | } 23 | .icheckbox_square.checked { 24 | background-position: -48px 0; 25 | } 26 | .icheckbox_square.disabled { 27 | background-position: -72px 0; 28 | cursor: default; 29 | } 30 | .icheckbox_square.checked.disabled { 31 | background-position: -96px 0; 32 | } 33 | 34 | .iradio_square { 35 | background-position: -120px 0; 36 | } 37 | .iradio_square.hover { 38 | background-position: -144px 0; 39 | } 40 | .iradio_square.checked { 41 | background-position: -168px 0; 42 | } 43 | .iradio_square.disabled { 44 | background-position: -192px 0; 45 | cursor: default; 46 | } 47 | .iradio_square.checked.disabled { 48 | background-position: -216px 0; 49 | } 50 | 51 | /* Retina support */ 52 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5), 53 | only screen and (-moz-min-device-pixel-ratio: 1.5), 54 | only screen and (-o-min-device-pixel-ratio: 3/2), 55 | only screen and (min-device-pixel-ratio: 1.5) { 56 | .icheckbox_square, 57 | .iradio_square { 58 | background-image: url(square@2x.png); 59 | -webkit-background-size: 240px 24px; 60 | background-size: 240px 24px; 61 | } 62 | } -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/square/square.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orientsoft/kubekit/3b2578afe2d38034fb8297b2907090de26fcf7df/assets/libs/jquery-icheck/skins/square/square.png -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/square/square@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orientsoft/kubekit/3b2578afe2d38034fb8297b2907090de26fcf7df/assets/libs/jquery-icheck/skins/square/square@2x.png -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/square/yellow.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Square skin, yellow 2 | ----------------------------------- */ 3 | .icheckbox_square-yellow, 4 | .iradio_square-yellow { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 22px; 11 | height: 22px; 12 | background: url(yellow.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_square-yellow { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_square-yellow.hover { 21 | background-position: -24px 0; 22 | } 23 | .icheckbox_square-yellow.checked { 24 | background-position: -48px 0; 25 | } 26 | .icheckbox_square-yellow.disabled { 27 | background-position: -72px 0; 28 | cursor: default; 29 | } 30 | .icheckbox_square-yellow.checked.disabled { 31 | background-position: -96px 0; 32 | } 33 | 34 | .iradio_square-yellow { 35 | background-position: -120px 0; 36 | } 37 | .iradio_square-yellow.hover { 38 | background-position: -144px 0; 39 | } 40 | .iradio_square-yellow.checked { 41 | background-position: -168px 0; 42 | } 43 | .iradio_square-yellow.disabled { 44 | background-position: -192px 0; 45 | cursor: default; 46 | } 47 | .iradio_square-yellow.checked.disabled { 48 | background-position: -216px 0; 49 | } 50 | 51 | /* Retina support */ 52 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5), 53 | only screen and (-moz-min-device-pixel-ratio: 1.5), 54 | only screen and (-o-min-device-pixel-ratio: 3/2), 55 | only screen and (min-device-pixel-ratio: 1.5) { 56 | .icheckbox_square-yellow, 57 | .iradio_square-yellow { 58 | background-image: url(yellow@2x.png); 59 | -webkit-background-size: 240px 24px; 60 | background-size: 240px 24px; 61 | } 62 | } -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/square/yellow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orientsoft/kubekit/3b2578afe2d38034fb8297b2907090de26fcf7df/assets/libs/jquery-icheck/skins/square/yellow.png -------------------------------------------------------------------------------- /assets/libs/jquery-icheck/skins/square/yellow@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orientsoft/kubekit/3b2578afe2d38034fb8297b2907090de26fcf7df/assets/libs/jquery-icheck/skins/square/yellow@2x.png -------------------------------------------------------------------------------- /assets/libs/jqueryui/ui-lightness/images/animated-overlay.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orientsoft/kubekit/3b2578afe2d38034fb8297b2907090de26fcf7df/assets/libs/jqueryui/ui-lightness/images/animated-overlay.gif -------------------------------------------------------------------------------- /assets/libs/jqueryui/ui-lightness/images/ui-bg_diagonals-thick_18_b81900_40x40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orientsoft/kubekit/3b2578afe2d38034fb8297b2907090de26fcf7df/assets/libs/jqueryui/ui-lightness/images/ui-bg_diagonals-thick_18_b81900_40x40.png -------------------------------------------------------------------------------- /assets/libs/jqueryui/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orientsoft/kubekit/3b2578afe2d38034fb8297b2907090de26fcf7df/assets/libs/jqueryui/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png -------------------------------------------------------------------------------- /assets/libs/jqueryui/ui-lightness/images/ui-bg_flat_10_000000_40x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orientsoft/kubekit/3b2578afe2d38034fb8297b2907090de26fcf7df/assets/libs/jqueryui/ui-lightness/images/ui-bg_flat_10_000000_40x100.png -------------------------------------------------------------------------------- /assets/libs/jqueryui/ui-lightness/images/ui-bg_glass_100_f6f6f6_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orientsoft/kubekit/3b2578afe2d38034fb8297b2907090de26fcf7df/assets/libs/jqueryui/ui-lightness/images/ui-bg_glass_100_f6f6f6_1x400.png -------------------------------------------------------------------------------- /assets/libs/jqueryui/ui-lightness/images/ui-bg_glass_100_fdf5ce_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orientsoft/kubekit/3b2578afe2d38034fb8297b2907090de26fcf7df/assets/libs/jqueryui/ui-lightness/images/ui-bg_glass_100_fdf5ce_1x400.png -------------------------------------------------------------------------------- /assets/libs/jqueryui/ui-lightness/images/ui-bg_glass_65_ffffff_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orientsoft/kubekit/3b2578afe2d38034fb8297b2907090de26fcf7df/assets/libs/jqueryui/ui-lightness/images/ui-bg_glass_65_ffffff_1x400.png -------------------------------------------------------------------------------- /assets/libs/jqueryui/ui-lightness/images/ui-bg_gloss-wave_35_f6a828_500x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orientsoft/kubekit/3b2578afe2d38034fb8297b2907090de26fcf7df/assets/libs/jqueryui/ui-lightness/images/ui-bg_gloss-wave_35_f6a828_500x100.png -------------------------------------------------------------------------------- /assets/libs/jqueryui/ui-lightness/images/ui-bg_highlight-soft_100_eeeeee_1x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orientsoft/kubekit/3b2578afe2d38034fb8297b2907090de26fcf7df/assets/libs/jqueryui/ui-lightness/images/ui-bg_highlight-soft_100_eeeeee_1x100.png -------------------------------------------------------------------------------- /assets/libs/jqueryui/ui-lightness/images/ui-bg_highlight-soft_75_ffe45c_1x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orientsoft/kubekit/3b2578afe2d38034fb8297b2907090de26fcf7df/assets/libs/jqueryui/ui-lightness/images/ui-bg_highlight-soft_75_ffe45c_1x100.png -------------------------------------------------------------------------------- /assets/libs/jqueryui/ui-lightness/images/ui-icons_222222_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orientsoft/kubekit/3b2578afe2d38034fb8297b2907090de26fcf7df/assets/libs/jqueryui/ui-lightness/images/ui-icons_222222_256x240.png -------------------------------------------------------------------------------- /assets/libs/jqueryui/ui-lightness/images/ui-icons_228ef1_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orientsoft/kubekit/3b2578afe2d38034fb8297b2907090de26fcf7df/assets/libs/jqueryui/ui-lightness/images/ui-icons_228ef1_256x240.png -------------------------------------------------------------------------------- /assets/libs/jqueryui/ui-lightness/images/ui-icons_ef8c08_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orientsoft/kubekit/3b2578afe2d38034fb8297b2907090de26fcf7df/assets/libs/jqueryui/ui-lightness/images/ui-icons_ef8c08_256x240.png -------------------------------------------------------------------------------- /assets/libs/jqueryui/ui-lightness/images/ui-icons_ffd27a_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orientsoft/kubekit/3b2578afe2d38034fb8297b2907090de26fcf7df/assets/libs/jqueryui/ui-lightness/images/ui-icons_ffd27a_256x240.png -------------------------------------------------------------------------------- /assets/libs/jqueryui/ui-lightness/images/ui-icons_ffffff_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orientsoft/kubekit/3b2578afe2d38034fb8297b2907090de26fcf7df/assets/libs/jqueryui/ui-lightness/images/ui-icons_ffffff_256x240.png -------------------------------------------------------------------------------- /assets/libs/nifty-modal/js/classie.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * classie - class helper functions 3 | * from bonzo https://github.com/ded/bonzo 4 | * 5 | * classie.has( elem, 'my-class' ) -> true/false 6 | * classie.add( elem, 'my-new-class' ) 7 | * classie.remove( elem, 'my-unwanted-class' ) 8 | * classie.toggle( elem, 'my-class' ) 9 | */ 10 | 11 | /*jshint browser: true, strict: true, undef: true */ 12 | /*global define: false */ 13 | 14 | ( function( window ) { 15 | 16 | 'use strict'; 17 | 18 | // class helper functions from bonzo https://github.com/ded/bonzo 19 | 20 | function classReg( className ) { 21 | return new RegExp("(^|\\s+)" + className + "(\\s+|$)"); 22 | } 23 | 24 | // classList support for class management 25 | // altho to be fair, the api sucks because it won't accept multiple classes at once 26 | var hasClass, addClass, removeClass; 27 | 28 | if ( 'classList' in document.documentElement ) { 29 | hasClass = function( elem, c ) { 30 | return elem.classList.contains( c ); 31 | }; 32 | addClass = function( elem, c ) { 33 | elem.classList.add( c ); 34 | }; 35 | removeClass = function( elem, c ) { 36 | elem.classList.remove( c ); 37 | }; 38 | } 39 | else { 40 | hasClass = function( elem, c ) { 41 | return classReg( c ).test( elem.className ); 42 | }; 43 | addClass = function( elem, c ) { 44 | if ( !hasClass( elem, c ) ) { 45 | elem.className = elem.className + ' ' + c; 46 | } 47 | }; 48 | removeClass = function( elem, c ) { 49 | elem.className = elem.className.replace( classReg( c ), ' ' ); 50 | }; 51 | } 52 | 53 | function toggleClass( elem, c ) { 54 | var fn = hasClass( elem, c ) ? removeClass : addClass; 55 | fn( elem, c ); 56 | } 57 | 58 | var classie = { 59 | // full names 60 | hasClass: hasClass, 61 | addClass: addClass, 62 | removeClass: removeClass, 63 | toggleClass: toggleClass, 64 | // short names 65 | has: hasClass, 66 | add: addClass, 67 | remove: removeClass, 68 | toggle: toggleClass 69 | }; 70 | 71 | // transport 72 | if ( typeof define === 'function' && define.amd ) { 73 | // AMD 74 | define( classie ); 75 | } else { 76 | // browser global 77 | window.classie = classie; 78 | } 79 | 80 | })( window ); 81 | -------------------------------------------------------------------------------- /assets/libs/nifty-modal/js/modalEffects.js: -------------------------------------------------------------------------------- 1 | /** 2 | * modalEffects.js v1.0.0 3 | * http://www.codrops.com 4 | * 5 | * Licensed under the MIT license. 6 | * http://www.opensource.org/licenses/mit-license.php 7 | * 8 | * Copyright 2013, Codrops 9 | * http://www.codrops.com 10 | */ 11 | var ModalEffects = (function() { 12 | 13 | function init() { 14 | 15 | var overlay = document.querySelector( '.md-overlay' ); 16 | 17 | [].slice.call( document.querySelectorAll( '.md-trigger' ) ).forEach( function( el, i ) { 18 | 19 | var modal = document.querySelector( '#' + el.getAttribute( 'data-modal' ) ), 20 | close = modal.querySelector( '.md-close' ); 21 | 22 | function removeModal( hasPerspective ) { 23 | classie.remove( modal, 'md-show' ); 24 | 25 | if( hasPerspective ) { 26 | classie.remove( document.documentElement, 'md-perspective' ); 27 | } 28 | } 29 | 30 | function removeModalHandler() { 31 | removeModal( classie.has( el, 'md-setperspective' ) ); 32 | } 33 | 34 | el.addEventListener( 'click', function( ev ) { 35 | classie.add( modal, 'md-show' ); 36 | overlay.removeEventListener( 'click', removeModalHandler ); 37 | overlay.addEventListener( 'click', removeModalHandler ); 38 | 39 | if( classie.has( el, 'md-setperspective' ) ) { 40 | setTimeout( function() { 41 | classie.add( document.documentElement, 'md-perspective' ); 42 | }, 25 ); 43 | } 44 | }); 45 | 46 | close.addEventListener( 'click', function( ev ) { 47 | ev.stopPropagation(); 48 | removeModalHandler(); 49 | }); 50 | 51 | } ); 52 | 53 | } 54 | 55 | init(); 56 | 57 | })(); -------------------------------------------------------------------------------- /assets/libs/pace/pace.css: -------------------------------------------------------------------------------- 1 | .pace { 2 | -webkit-pointer-events: none; 3 | pointer-events: none; 4 | -webkit-user-select: none; 5 | -moz-user-select: none; 6 | user-select: none; 7 | } 8 | 9 | .pace-inactive { 10 | display: none; 11 | } 12 | 13 | .pace .pace-progress { 14 | background: #68C39F; 15 | position: fixed; 16 | z-index: 2000; 17 | top: 0; 18 | left: 0; 19 | height: 2px; 20 | 21 | -webkit-transition: width 1s; 22 | -moz-transition: width 1s; 23 | -o-transition: width 1s; 24 | transition: width 1s; 25 | } 26 | 27 | .pace .pace-progress-inner { 28 | display: block; 29 | position: absolute; 30 | right: 0px; 31 | width: 100px; 32 | height: 100%; 33 | box-shadow: 0 0 10px #68C39F, 0 0 5px #68C39F; 34 | opacity: 1.0; 35 | -webkit-transform: rotate(3deg) translate(0px, -4px); 36 | -moz-transform: rotate(3deg) translate(0px, -4px); 37 | -ms-transform: rotate(3deg) translate(0px, -4px); 38 | -o-transform: rotate(3deg) translate(0px, -4px); 39 | transform: rotate(3deg) translate(0px, -4px); 40 | } 41 | 42 | .pace .pace-activity { 43 | display: block; 44 | position: fixed; 45 | z-index: 2000; 46 | top: 15px; 47 | left: 15px; 48 | width: 14px; 49 | height: 14px; 50 | border: solid 2px transparent; 51 | border-top-color: #68C39F; 52 | border-left-color: #68C39F; 53 | border-radius: 10px; 54 | -webkit-animation: pace-spinner 400ms linear infinite; 55 | -moz-animation: pace-spinner 400ms linear infinite; 56 | -ms-animation: pace-spinner 400ms linear infinite; 57 | -o-animation: pace-spinner 400ms linear infinite; 58 | animation: pace-spinner 400ms linear infinite; 59 | } 60 | 61 | @-webkit-keyframes pace-spinner { 62 | 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); } 63 | 100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); } 64 | } 65 | @-moz-keyframes pace-spinner { 66 | 0% { -moz-transform: rotate(0deg); transform: rotate(0deg); } 67 | 100% { -moz-transform: rotate(360deg); transform: rotate(360deg); } 68 | } 69 | @-o-keyframes pace-spinner { 70 | 0% { -o-transform: rotate(0deg); transform: rotate(0deg); } 71 | 100% { -o-transform: rotate(360deg); transform: rotate(360deg); } 72 | } 73 | @-ms-keyframes pace-spinner { 74 | 0% { -ms-transform: rotate(0deg); transform: rotate(0deg); } 75 | 100% { -ms-transform: rotate(360deg); transform: rotate(360deg); } 76 | } 77 | @keyframes pace-spinner { 78 | 0% { transform: rotate(0deg); transform: rotate(0deg); } 79 | 100% { transform: rotate(360deg); transform: rotate(360deg); } 80 | } 81 | -------------------------------------------------------------------------------- /assets/libs/prettify/desert.css: -------------------------------------------------------------------------------- 1 | /* desert scheme ported from vim to google prettify */ 2 | pre.prettyprint { display: block; background-color: #333 } 3 | pre .nocode { background-color: none; color: #000 } 4 | pre .str { color: #ffa0a0 } /* string - pink */ 5 | pre .kwd { color: #f0e68c; font-weight: bold } 6 | pre .com { color: #87ceeb } /* comment - skyblue */ 7 | pre .typ { color: #98fb98 } /* type - lightgreen */ 8 | pre .lit { color: #cd5c5c } /* literal - darkred */ 9 | pre .pun { color: #fff } /* punctuation */ 10 | pre .pln { color: #fff } /* plaintext */ 11 | pre .tag { color: #f0e68c; font-weight: bold } /* html/xml tag - lightyellow */ 12 | pre .atn { color: #bdb76b; font-weight: bold } /* attribute name - khaki */ 13 | pre .atv { color: #ffa0a0 } /* attribute value - pink */ 14 | pre .dec { color: #98fb98 } /* decimal - lightgreen */ 15 | 16 | /* Specify class=linenums on a pre to get line numbering */ 17 | ol.linenums { margin-top: 0; margin-bottom: 0; color: #AEAEAE } /* IE indents via margin-left */ 18 | li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8 { list-style-type: none } 19 | /* Alternate shading for lines */ 20 | li.L1,li.L3,li.L5,li.L7,li.L9 { } 21 | 22 | @media print { 23 | pre.prettyprint { background-color: none } 24 | pre .str, code .str { color: #060 } 25 | pre .kwd, code .kwd { color: #006; font-weight: bold } 26 | pre .com, code .com { color: #600; font-style: italic } 27 | pre .typ, code .typ { color: #404; font-weight: bold } 28 | pre .lit, code .lit { color: #044 } 29 | pre .pun, code .pun { color: #440 } 30 | pre .pln, code .pln { color: #000 } 31 | pre .tag, code .tag { color: #006; font-weight: bold } 32 | pre .atn, code .atn { color: #404 } 33 | pre .atv, code .atv { color: #060 } 34 | } 35 | -------------------------------------------------------------------------------- /assets/libs/prettify/doxy.css: -------------------------------------------------------------------------------- 1 | /* Doxy pretty-printing styles. Used with prettify.js. */ 2 | 3 | pre .str, code .str { color: #fec243; } /* string - eggyolk gold */ 4 | pre .kwd, code .kwd { color: #8470FF; } /* keyword - light slate blue */ 5 | pre .com, code .com { color: #32cd32; font-style: italic; } /* comment - green */ 6 | pre .typ, code .typ { color: #6ecbcc; } /* type - turq green */ 7 | pre .lit, code .lit { color: #d06; } /* literal - cherry red */ 8 | pre .pun, code .pun { color: #8B8970; } /* punctuation - lemon chiffon4 */ 9 | pre .pln, code .pln { color: #f0f0f0; } /* plaintext - white */ 10 | pre .tag, code .tag { color: #9c9cff; } /* html/xml tag (bluey) */ 11 | pre .htm, code .htm { color: #dda0dd; } /* html tag light purply*/ 12 | pre .xsl, code .xsl { color: #d0a0d0; } /* xslt tag light purply*/ 13 | pre .atn, code .atn { color: #46eeee; font-weight: normal;} /* html/xml attribute name - lt turquoise */ 14 | pre .atv, code .atv { color: #EEB4B4; } /* html/xml attribute value - rosy brown2 */ 15 | pre .dec, code .dec { color: #3387CC; } /* decimal - blue */ 16 | 17 | a { 18 | text-decoration: none; 19 | } 20 | pre.prettyprint, code.prettyprint { 21 | font-family:'Droid Sans Mono','CPMono_v07 Bold','Droid Sans'; 22 | font-weight: bold; 23 | font-size: 9pt; 24 | background-color: #0f0f0f; 25 | -moz-border-radius: 8px; 26 | -webkit-border-radius: 8px; 27 | -o-border-radius: 8px; 28 | -ms-border-radius: 8px; 29 | -khtml-border-radius: 8px; 30 | border-radius: 8px; 31 | } /* background is black (well, just a tad less dark ) */ 32 | 33 | pre.prettyprint { 34 | width: 95%; 35 | margin: 1em auto; 36 | padding: 1em; 37 | white-space: pre-wrap; 38 | } 39 | 40 | pre.prettyprint a, code.prettyprint a { 41 | text-decoration:none; 42 | } 43 | /* Specify class=linenums on a pre to get line numbering; line numbers themselves are the same color as punctuation */ 44 | ol.linenums { margin-top: 0; margin-bottom: 0; color: #8B8970; } /* IE indents via margin-left */ 45 | li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8 { list-style-type: none } 46 | /* Alternate shading for lines */ 47 | li.L1,li.L3,li.L5,li.L7,li.L9 { } 48 | 49 | /* print is mostly unchanged from default at present */ 50 | @media print { 51 | pre.prettyprint, code.prettyprint { background-color: #fff; } 52 | pre .str, code .str { color: #088; } 53 | pre .kwd, code .kwd { color: #006; font-weight: bold; } 54 | pre .com, code .com { color: #oc3; font-style: italic; } 55 | pre .typ, code .typ { color: #404; font-weight: bold; } 56 | pre .lit, code .lit { color: #044; } 57 | pre .pun, code .pun { color: #440; } 58 | pre .pln, code .pln { color: #000; } 59 | pre .tag, code .tag { color: #b66ff7; font-weight: bold; } 60 | pre .htm, code .htm { color: #606; font-weight: bold; } 61 | pre .xsl, code .xsl { color: #606; font-weight: bold; } 62 | pre .atn, code .atn { color: #c71585; font-weight: normal; } 63 | pre .atv, code .atv { color: #088; font-weight: normal; } 64 | } 65 | -------------------------------------------------------------------------------- /assets/libs/prettify/github.css: -------------------------------------------------------------------------------- 1 | /* GitHub Theme */ 2 | .prettyprint { 3 | background: white; 4 | font-family: Menlo, 'Bitstream Vera Sans Mono', 'DejaVu Sans Mono', Monaco, Consolas, monospace; 5 | font-size: 12px; 6 | line-height: 1.5; 7 | border: 1px solid #ccc; 8 | padding: 10px; 9 | } 10 | 11 | .pln { 12 | color: #333333; 13 | } 14 | 15 | @media screen { 16 | .str { 17 | color: #dd1144; 18 | } 19 | 20 | .kwd { 21 | color: #333333; 22 | } 23 | 24 | .com { 25 | color: #999988; 26 | } 27 | 28 | .typ { 29 | color: #445588; 30 | } 31 | 32 | .lit { 33 | color: #445588; 34 | } 35 | 36 | .pun { 37 | color: #333333; 38 | } 39 | 40 | .opn { 41 | color: #333333; 42 | } 43 | 44 | .clo { 45 | color: #333333; 46 | } 47 | 48 | .tag { 49 | color: navy; 50 | } 51 | 52 | .atn { 53 | color: teal; 54 | } 55 | 56 | .atv { 57 | color: #dd1144; 58 | } 59 | 60 | .dec { 61 | color: #333333; 62 | } 63 | 64 | .var { 65 | color: teal; 66 | } 67 | 68 | .fun { 69 | color: #990000; 70 | } 71 | } 72 | @media print, projection { 73 | .str { 74 | color: #006600; 75 | } 76 | 77 | .kwd { 78 | color: #006; 79 | font-weight: bold; 80 | } 81 | 82 | .com { 83 | color: #600; 84 | font-style: italic; 85 | } 86 | 87 | .typ { 88 | color: #404; 89 | font-weight: bold; 90 | } 91 | 92 | .lit { 93 | color: #004444; 94 | } 95 | 96 | .pun, .opn, .clo { 97 | color: #444400; 98 | } 99 | 100 | .tag { 101 | color: #006; 102 | font-weight: bold; 103 | } 104 | 105 | .atn { 106 | color: #440044; 107 | } 108 | 109 | .atv { 110 | color: #006600; 111 | } 112 | } 113 | /* Specify class=linenums on a pre to get line numbering */ 114 | ol.linenums { 115 | margin-top: 0; 116 | margin-bottom: 0; 117 | } 118 | 119 | /* IE indents via margin-left */ 120 | li.L0, 121 | li.L1, 122 | li.L2, 123 | li.L3, 124 | li.L4, 125 | li.L5, 126 | li.L6, 127 | li.L7, 128 | li.L8, 129 | li.L9 { 130 | /* */ 131 | } 132 | 133 | /* Alternate shading for lines */ 134 | li.L1, 135 | li.L3, 136 | li.L5, 137 | li.L7, 138 | li.L9 { 139 | /* */ 140 | } 141 | -------------------------------------------------------------------------------- /assets/libs/prettify/lang-apollo.js: -------------------------------------------------------------------------------- 1 | PR.registerLangHandler(PR.createSimpleLexer([["com",/^#[^\n\r]*/,null,"#"],["pln",/^[\t\n\r \xa0]+/,null,"\t\n\r \u00a0"],["str",/^"(?:[^"\\]|\\[\S\s])*(?:"|$)/,null,'"']],[["kwd",/^(?:ADS|AD|AUG|BZF|BZMF|CAE|CAF|CA|CCS|COM|CS|DAS|DCA|DCOM|DCS|DDOUBL|DIM|DOUBLE|DTCB|DTCF|DV|DXCH|EDRUPT|EXTEND|INCR|INDEX|NDX|INHINT|LXCH|MASK|MSK|MP|MSU|NOOP|OVSK|QXCH|RAND|READ|RELINT|RESUME|RETURN|ROR|RXOR|SQUARE|SU|TCR|TCAA|OVSK|TCF|TC|TS|WAND|WOR|WRITE|XCH|XLQ|XXALQ|ZL|ZQ|ADD|ADZ|SUB|SUZ|MPY|MPR|MPZ|DVP|COM|ABS|CLA|CLZ|LDQ|STO|STQ|ALS|LLS|LRS|TRA|TSQ|TMI|TOV|AXT|TIX|DLY|INP|OUT)\s/, 2 | null],["typ",/^(?:-?GENADR|=MINUS|2BCADR|VN|BOF|MM|-?2CADR|-?[1-6]DNADR|ADRES|BBCON|[ES]?BANK=?|BLOCK|BNKSUM|E?CADR|COUNT\*?|2?DEC\*?|-?DNCHAN|-?DNPTR|EQUALS|ERASE|MEMORY|2?OCT|REMADR|SETLOC|SUBRO|ORG|BSS|BES|SYN|EQU|DEFINE|END)\s/,null],["lit",/^'(?:-*(?:\w|\\[!-~])(?:[\w-]*|\\[!-~])[!=?]?)?/],["pln",/^-*(?:[!-z]|\\[!-~])(?:[\w-]*|\\[!-~])[!=?]?/],["pun",/^[^\w\t\n\r "'-);\\\xa0]+/]]),["apollo","agc","aea"]); 3 | -------------------------------------------------------------------------------- /assets/libs/prettify/lang-basic.js: -------------------------------------------------------------------------------- 1 | var a=null; 2 | PR.registerLangHandler(PR.createSimpleLexer([["str",/^"(?:[^\n\r"\\]|\\.)*(?:"|$)/,a,'"'],["pln",/^\s+/,a," \r\n\t\u00a0"]],[["com",/^REM[^\n\r]*/,a],["kwd",/^\b(?:AND|CLOSE|CLR|CMD|CONT|DATA|DEF ?FN|DIM|END|FOR|GET|GOSUB|GOTO|IF|INPUT|LET|LIST|LOAD|NEW|NEXT|NOT|ON|OPEN|OR|POKE|PRINT|READ|RESTORE|RETURN|RUN|SAVE|STEP|STOP|SYS|THEN|TO|VERIFY|WAIT)\b/,a],["pln",/^[a-z][^\W_]?(?:\$|%)?/i,a],["lit",/^(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?/i,a,"0123456789"],["pun", 3 | /^.[^\s\w"$%.]*/,a]]),["basic","cbm"]); 4 | -------------------------------------------------------------------------------- /assets/libs/prettify/lang-clj.js: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (C) 2011 Google Inc. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | var a=null; 17 | PR.registerLangHandler(PR.createSimpleLexer([["opn",/^[([{]+/,a,"([{"],["clo",/^[)\]}]+/,a,")]}"],["com",/^;[^\n\r]*/,a,";"],["pln",/^[\t\n\r \xa0]+/,a,"\t\n\r \u00a0"],["str",/^"(?:[^"\\]|\\[\S\s])*(?:"|$)/,a,'"']],[["kwd",/^(?:def|if|do|let|quote|var|fn|loop|recur|throw|try|monitor-enter|monitor-exit|defmacro|defn|defn-|macroexpand|macroexpand-1|for|doseq|dosync|dotimes|and|or|when|not|assert|doto|proxy|defstruct|first|rest|cons|defprotocol|deftype|defrecord|reify|defmulti|defmethod|meta|with-meta|ns|in-ns|create-ns|import|intern|refer|alias|namespace|resolve|ref|deref|refset|new|set!|memfn|to-array|into-array|aset|gen-class|reduce|map|filter|find|nil?|empty?|hash-map|hash-set|vec|vector|seq|flatten|reverse|assoc|dissoc|list|list?|disj|get|union|difference|intersection|extend|extend-type|extend-protocol|prn)\b/,a], 18 | ["typ",/^:[\dA-Za-z-]+/]]),["clj"]); 19 | -------------------------------------------------------------------------------- /assets/libs/prettify/lang-css.js: -------------------------------------------------------------------------------- 1 | PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\f\r ]+/,null," \t\r\n\u000c"]],[["str",/^"(?:[^\n\f\r"\\]|\\(?:\r\n?|\n|\f)|\\[\S\s])*"/,null],["str",/^'(?:[^\n\f\r'\\]|\\(?:\r\n?|\n|\f)|\\[\S\s])*'/,null],["lang-css-str",/^url\(([^"')]+)\)/i],["kwd",/^(?:url|rgb|!important|@import|@page|@media|@charset|inherit)(?=[^\w-]|$)/i,null],["lang-css-kw",/^(-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*)\s*:/i],["com",/^\/\*[^*]*\*+(?:[^*/][^*]*\*+)*\//], 2 | ["com",/^(?:<\!--|--\>)/],["lit",/^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i],["lit",/^#[\da-f]{3,6}\b/i],["pln",/^-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*/i],["pun",/^[^\s\w"']+/]]),["css"]);PR.registerLangHandler(PR.createSimpleLexer([],[["kwd",/^-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*/i]]),["css-kw"]);PR.registerLangHandler(PR.createSimpleLexer([],[["str",/^[^"')]+/]]),["css-str"]); 3 | -------------------------------------------------------------------------------- /assets/libs/prettify/lang-dart.js: -------------------------------------------------------------------------------- 1 | PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\r \xa0]+/,null,"\t\n\r \u00a0"]],[["com",/^#!.*/],["kwd",/^\b(?:import|library|part of|part|as|show|hide)\b/i],["com",/^\/\/.*/],["com",/^\/\*[^*]*\*+(?:[^*/][^*]*\*+)*\//],["kwd",/^\b(?:class|interface)\b/i],["kwd",/^\b(?:assert|break|case|catch|continue|default|do|else|finally|for|if|in|is|new|return|super|switch|this|throw|try|while)\b/i],["kwd",/^\b(?:abstract|const|extends|factory|final|get|implements|native|operator|set|static|typedef|var)\b/i], 2 | ["typ",/^\b(?:bool|double|dynamic|int|num|object|string|void)\b/i],["kwd",/^\b(?:false|null|true)\b/i],["str",/^r?'''[\S\s]*?[^\\]'''/],["str",/^r?"""[\S\s]*?[^\\]"""/],["str",/^r?'('|[^\n\f\r]*?[^\\]')/],["str",/^r?"("|[^\n\f\r]*?[^\\]")/],["pln",/^[$_a-z]\w*/i],["pun",/^[!%&*+/:<-?^|~-]/],["lit",/^\b0x[\da-f]+/i],["lit",/^\b\d+(?:\.\d*)?(?:e[+-]?\d+)?/i],["lit",/^\b\.\d+(?:e[+-]?\d+)?/i],["pun",/^[(),.;[\]{}]/]]), 3 | ["dart"]); 4 | -------------------------------------------------------------------------------- /assets/libs/prettify/lang-erlang.js: -------------------------------------------------------------------------------- 1 | PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t-\r ]+/,null,"\t\n\u000b\u000c\r "],["str",/^"(?:[^\n\f\r"\\]|\\[\S\s])*(?:"|$)/,null,'"'],["lit",/^[a-z]\w*/],["lit",/^'(?:[^\n\f\r'\\]|\\[^&])+'?/,null,"'"],["lit",/^\?[^\t\n ({]+/,null,"?"],["lit",/^(?:0o[0-7]+|0x[\da-f]+|\d+(?:\.\d+)?(?:e[+-]?\d+)?)/i,null,"0123456789"]],[["com",/^%[^\n]*/],["kwd",/^(?:module|attributes|do|let|in|letrec|apply|call|primop|case|of|end|when|fun|try|catch|receive|after|char|integer|float,atom,string,var)\b/], 2 | ["kwd",/^-[_a-z]+/],["typ",/^[A-Z_]\w*/],["pun",/^[,.;]/]]),["erlang","erl"]); 3 | -------------------------------------------------------------------------------- /assets/libs/prettify/lang-go.js: -------------------------------------------------------------------------------- 1 | PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\r \xa0]+/,null,"\t\n\r \u00a0"],["pln",/^(?:"(?:[^"\\]|\\[\S\s])*(?:"|$)|'(?:[^'\\]|\\[\S\s])+(?:'|$)|`[^`]*(?:`|$))/,null,"\"'"]],[["com",/^(?:\/\/[^\n\r]*|\/\*[\S\s]*?\*\/)/],["pln",/^(?:[^"'/`]|\/(?![*/]))+/]]),["go"]); 2 | -------------------------------------------------------------------------------- /assets/libs/prettify/lang-hs.js: -------------------------------------------------------------------------------- 1 | PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t-\r ]+/,null,"\t\n\u000b\u000c\r "],["str",/^"(?:[^\n\f\r"\\]|\\[\S\s])*(?:"|$)/,null,'"'],["str",/^'(?:[^\n\f\r'\\]|\\[^&])'?/,null,"'"],["lit",/^(?:0o[0-7]+|0x[\da-f]+|\d+(?:\.\d+)?(?:e[+-]?\d+)?)/i,null,"0123456789"]],[["com",/^(?:--+[^\n\f\r]*|{-(?:[^-]|-+[^}-])*-})/],["kwd",/^(?:case|class|data|default|deriving|do|else|if|import|in|infix|infixl|infixr|instance|let|module|newtype|of|then|type|where|_)(?=[^\d'A-Za-z]|$)/, 2 | null],["pln",/^(?:[A-Z][\w']*\.)*[A-Za-z][\w']*/],["pun",/^[^\d\t-\r "'A-Za-z]+/]]),["hs"]); 3 | -------------------------------------------------------------------------------- /assets/libs/prettify/lang-lisp.js: -------------------------------------------------------------------------------- 1 | var a=null; 2 | PR.registerLangHandler(PR.createSimpleLexer([["opn",/^\(+/,a,"("],["clo",/^\)+/,a,")"],["com",/^;[^\n\r]*/,a,";"],["pln",/^[\t\n\r \xa0]+/,a,"\t\n\r \u00a0"],["str",/^"(?:[^"\\]|\\[\S\s])*(?:"|$)/,a,'"']],[["kwd",/^(?:block|c[ad]+r|catch|con[ds]|def(?:ine|un)|do|eq|eql|equal|equalp|eval-when|flet|format|go|if|labels|lambda|let|load-time-value|locally|macrolet|multiple-value-call|nil|progn|progv|quote|require|return-from|setq|symbol-macrolet|t|tagbody|the|throw|unwind)\b/,a], 3 | ["lit",/^[+-]?(?:[#0]x[\da-f]+|\d+\/\d+|(?:\.\d+|\d+(?:\.\d*)?)(?:[de][+-]?\d+)?)/i],["lit",/^'(?:-*(?:\w|\\[!-~])(?:[\w-]*|\\[!-~])[!=?]?)?/],["pln",/^-*(?:[_a-z]|\\[!-~])(?:[\w-]*|\\[!-~])[!=?]?/i],["pun",/^[^\w\t\n\r "'-);\\\xa0]+/]]),["cl","el","lisp","lsp","scm","ss","rkt"]); 4 | -------------------------------------------------------------------------------- /assets/libs/prettify/lang-llvm.js: -------------------------------------------------------------------------------- 1 | PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\r \xa0]+/,null,"\t\n\r \u00a0"],["str",/^!?"(?:[^"\\]|\\[\S\s])*(?:"|$)/,null,'"'],["com",/^;[^\n\r]*/,null,";"]],[["pln",/^[!%@](?:[$\-.A-Z_a-z][\w$\-.]*|\d+)/],["kwd",/^[^\W\d]\w*/,null],["lit",/^\d+\.\d+/],["lit",/^(?:\d+|0[Xx][\dA-Fa-f]+)/],["pun",/^[(-*,:<->[\]{}]|\.\.\.$/]]),["llvm","ll"]); 2 | -------------------------------------------------------------------------------- /assets/libs/prettify/lang-lua.js: -------------------------------------------------------------------------------- 1 | PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\r \xa0]+/,null,"\t\n\r \u00a0"],["str",/^(?:"(?:[^"\\]|\\[\S\s])*(?:"|$)|'(?:[^'\\]|\\[\S\s])*(?:'|$))/,null,"\"'"]],[["com",/^--(?:\[(=*)\[[\S\s]*?(?:]\1]|$)|[^\n\r]*)/],["str",/^\[(=*)\[[\S\s]*?(?:]\1]|$)/],["kwd",/^(?:and|break|do|else|elseif|end|false|for|function|if|in|local|nil|not|or|repeat|return|then|true|until|while)\b/,null],["lit",/^[+-]?(?:0x[\da-f]+|(?:\.\d+|\d+(?:\.\d*)?)(?:e[+-]?\d+)?)/i], 2 | ["pln",/^[_a-z]\w*/i],["pun",/^[^\w\t\n\r \xa0][^\w\t\n\r "'+=\xa0-]*/]]),["lua"]); 3 | -------------------------------------------------------------------------------- /assets/libs/prettify/lang-ml.js: -------------------------------------------------------------------------------- 1 | PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\r \xa0]+/,null,"\t\n\r \u00a0"],["com",/^#(?:if[\t\n\r \xa0]+(?:[$_a-z][\w']*|``[^\t\n\r`]*(?:``|$))|else|endif|light)/i,null,"#"],["str",/^(?:"(?:[^"\\]|\\[\S\s])*(?:"|$)|'(?:[^'\\]|\\[\S\s])(?:'|$))/,null,"\"'"]],[["com",/^(?:\/\/[^\n\r]*|\(\*[\S\s]*?\*\))/],["kwd",/^(?:abstract|and|as|assert|begin|class|default|delegate|do|done|downcast|downto|elif|else|end|exception|extern|false|finally|for|fun|function|if|in|inherit|inline|interface|internal|lazy|let|match|member|module|mutable|namespace|new|null|of|open|or|override|private|public|rec|return|static|struct|then|to|true|try|type|upcast|use|val|void|when|while|with|yield|asr|land|lor|lsl|lsr|lxor|mod|sig|atomic|break|checked|component|const|constraint|constructor|continue|eager|event|external|fixed|functor|global|include|method|mixin|object|parallel|process|protected|pure|sealed|trait|virtual|volatile)\b/], 2 | ["lit",/^[+-]?(?:0x[\da-f]+|(?:\.\d+|\d+(?:\.\d*)?)(?:e[+-]?\d+)?)/i],["pln",/^(?:[_a-z][\w']*[!#?]?|``[^\t\n\r`]*(?:``|$))/i],["pun",/^[^\w\t\n\r "'\xa0]+/]]),["fs","ml"]); 3 | -------------------------------------------------------------------------------- /assets/libs/prettify/lang-mumps.js: -------------------------------------------------------------------------------- 1 | PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\r \xa0]+/,null,"\t\n\r \u00a0"],["str",/^"(?:[^"]|\\.)*"/,null,'"']],[["com",/^;[^\n\r]*/,null,";"],["dec",/^\$(?:d|device|ec|ecode|es|estack|et|etrap|h|horolog|i|io|j|job|k|key|p|principal|q|quit|st|stack|s|storage|sy|system|t|test|tl|tlevel|tr|trestart|x|y|z[a-z]*|a|ascii|c|char|d|data|e|extract|f|find|fn|fnumber|g|get|j|justify|l|length|na|name|o|order|p|piece|ql|qlength|qs|qsubscript|q|query|r|random|re|reverse|s|select|st|stack|t|text|tr|translate|nan)\b/i, 2 | null],["kwd",/^(?:[^$]b|break|c|close|d|do|e|else|f|for|g|goto|h|halt|h|hang|i|if|j|job|k|kill|l|lock|m|merge|n|new|o|open|q|quit|r|read|s|set|tc|tcommit|tre|trestart|tro|trollback|ts|tstart|u|use|v|view|w|write|x|xecute)\b/i,null],["lit",/^[+-]?(?:\.\d+|\d+(?:\.\d*)?)(?:e[+-]?\d+)?/i],["pln",/^[a-z][^\W_]*/i],["pun",/^[^\w\t\n\r"$%;^\xa0]|_/]]),["mumps"]); 3 | -------------------------------------------------------------------------------- /assets/libs/prettify/lang-n.js: -------------------------------------------------------------------------------- 1 | var a=null; 2 | PR.registerLangHandler(PR.createSimpleLexer([["str",/^(?:'(?:[^\n\r'\\]|\\.)*'|"(?:[^\n\r"\\]|\\.)*(?:"|$))/,a,'"'],["com",/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\n\r]*)/,a,"#"],["pln",/^\s+/,a," \r\n\t\u00a0"]],[["str",/^@"(?:[^"]|"")*(?:"|$)/,a],["str",/^<#[^#>]*(?:#>|$)/,a],["str",/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,a],["com",/^\/\/[^\n\r]*/,a],["com",/^\/\*[\S\s]*?(?:\*\/|$)/, 3 | a],["kwd",/^(?:abstract|and|as|base|catch|class|def|delegate|enum|event|extern|false|finally|fun|implements|interface|internal|is|macro|match|matches|module|mutable|namespace|new|null|out|override|params|partial|private|protected|public|ref|sealed|static|struct|syntax|this|throw|true|try|type|typeof|using|variant|virtual|volatile|when|where|with|assert|assert2|async|break|checked|continue|do|else|ensures|for|foreach|if|late|lock|new|nolate|otherwise|regexp|repeat|requires|return|surroundwith|unchecked|unless|using|while|yield)\b/, 4 | a],["typ",/^(?:array|bool|byte|char|decimal|double|float|int|list|long|object|sbyte|short|string|ulong|uint|ufloat|ulong|ushort|void)\b/,a],["lit",/^@[$_a-z][\w$@]*/i,a],["typ",/^@[A-Z]+[a-z][\w$@]*/,a],["pln",/^'?[$_a-z][\w$@]*/i,a],["lit",/^(?:0x[\da-f]+|(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d\+)(?:e[+-]?\d+)?)[a-z]*/i,a,"0123456789"],["pun",/^.[^\s\w"-$'./@`]*/,a]]),["n","nemerle"]); 5 | -------------------------------------------------------------------------------- /assets/libs/prettify/lang-pascal.js: -------------------------------------------------------------------------------- 1 | var a=null; 2 | PR.registerLangHandler(PR.createSimpleLexer([["str",/^'(?:[^\n\r'\\]|\\.)*(?:'|$)/,a,"'"],["pln",/^\s+/,a," \r\n\t\u00a0"]],[["com",/^\(\*[\S\s]*?(?:\*\)|$)|^{[\S\s]*?(?:}|$)/,a],["kwd",/^(?:absolute|and|array|asm|assembler|begin|case|const|constructor|destructor|div|do|downto|else|end|external|for|forward|function|goto|if|implementation|in|inline|interface|interrupt|label|mod|not|object|of|or|packed|procedure|program|record|repeat|set|shl|shr|then|to|type|unit|until|uses|var|virtual|while|with|xor)\b/i,a], 3 | ["lit",/^(?:true|false|self|nil)/i,a],["pln",/^[a-z][^\W_]*/i,a],["lit",/^(?:\$[\da-f]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?)/i,a,"0123456789"],["pun",/^.[^\s\w$'./@]*/,a]]),["pascal"]); 4 | -------------------------------------------------------------------------------- /assets/libs/prettify/lang-proto.js: -------------------------------------------------------------------------------- 1 | PR.registerLangHandler(PR.sourceDecorator({keywords:"bytes,default,double,enum,extend,extensions,false,group,import,max,message,option,optional,package,repeated,required,returns,rpc,service,syntax,to,true",types:/^(bool|(double|s?fixed|[su]?int)(32|64)|float|string)\b/,cStyleComments:!0}),["proto"]); 2 | -------------------------------------------------------------------------------- /assets/libs/prettify/lang-r.js: -------------------------------------------------------------------------------- 1 | PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\r \xa0]+/,null,"\t\n\r \u00a0"],["str",/^"(?:[^"\\]|\\[\S\s])*(?:"|$)/,null,'"'],["str",/^'(?:[^'\\]|\\[\S\s])*(?:'|$)/,null,"'"]],[["com",/^#.*/],["kwd",/^(?:if|else|for|while|repeat|in|next|break|return|switch|function)(?![\w.])/],["lit",/^0[Xx][\dA-Fa-f]+([Pp]\d+)?[Li]?/],["lit",/^[+-]?(\d+(\.\d+)?|\.\d+)([Ee][+-]?\d+)?[Li]?/],["lit",/^(?:NULL|NA(?:_(?:integer|real|complex|character)_)?|Inf|TRUE|FALSE|NaN|\.\.(?:\.|\d+))(?![\w.])/], 2 | ["pun",/^(?:<>?|-|==|<=|>=|<|>|&&?|!=|\|\|?|[!*+/^]|%.*?%|[$=@~]|:{1,3}|[(),;?[\]{}])/],["pln",/^(?:[A-Za-z]+[\w.]*|\.[^\W\d][\w.]*)(?![\w.])/],["str",/^`.+`/]]),["r","s","R","S","Splus"]); 3 | -------------------------------------------------------------------------------- /assets/libs/prettify/lang-rd.js: -------------------------------------------------------------------------------- 1 | PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\r \xa0]+/,null,"\t\n\r \u00a0"],["com",/^%[^\n\r]*/,null,"%"]],[["lit",/^\\(?:cr|l?dots|R|tab)\b/],["kwd",/^\\[@-Za-z]+/],["kwd",/^#(?:ifn?def|endif)/],["pln",/^\\[{}]/],["pun",/^[()[\]{}]+/]]),["Rd","rd"]); 2 | -------------------------------------------------------------------------------- /assets/libs/prettify/lang-scala.js: -------------------------------------------------------------------------------- 1 | PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\r \xa0]+/,null,"\t\n\r \u00a0"],["str",/^"(?:""(?:""?(?!")|[^"\\]|\\.)*"{0,3}|(?:[^\n\r"\\]|\\.)*"?)/,null,'"'],["lit",/^`(?:[^\n\r\\`]|\\.)*`?/,null,"`"],["pun",/^[!#%&(--:-@[-^{-~]+/,null,"!#%&()*+,-:;<=>?@[\\]^{|}~"]],[["str",/^'(?:[^\n\r'\\]|\\(?:'|[^\n\r']+))'/],["lit",/^'[$A-Z_a-z][\w$]*(?![\w$'])/],["kwd",/^(?:abstract|case|catch|class|def|do|else|extends|final|finally|for|forSome|if|implicit|import|lazy|match|new|object|override|package|private|protected|requires|return|sealed|super|throw|trait|try|type|val|var|while|with|yield)\b/], 2 | ["lit",/^(?:true|false|null|this)\b/],["lit",/^(?:0(?:[0-7]+|x[\da-f]+)l?|(?:0|[1-9]\d*)(?:(?:\.\d+)?(?:e[+-]?\d+)?f?|l?)|\\.\d+(?:e[+-]?\d+)?f?)/i],["typ",/^[$_]*[A-Z][\d$A-Z_]*[a-z][\w$]*/],["pln",/^[$A-Z_a-z][\w$]*/],["com",/^\/(?:\/.*|\*(?:\/|\**[^*/])*(?:\*+\/?)?)/],["pun",/^(?:\.+|\/)/]]),["scala"]); 3 | -------------------------------------------------------------------------------- /assets/libs/prettify/lang-sql.js: -------------------------------------------------------------------------------- 1 | PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\r \xa0]+/,null,"\t\n\r \u00a0"],["str",/^(?:"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')/,null,"\"'"]],[["com",/^(?:--[^\n\r]*|\/\*[\S\s]*?(?:\*\/|$))/],["kwd",/^(?:add|all|alter|and|any|apply|as|asc|authorization|backup|begin|between|break|browse|bulk|by|cascade|case|check|checkpoint|close|clustered|coalesce|collate|column|commit|compute|connect|constraint|contains|containstable|continue|convert|create|cross|current|current_date|current_time|current_timestamp|current_user|cursor|database|dbcc|deallocate|declare|default|delete|deny|desc|disk|distinct|distributed|double|drop|dummy|dump|else|end|errlvl|escape|except|exec|execute|exists|exit|fetch|file|fillfactor|following|for|foreign|freetext|freetexttable|from|full|function|goto|grant|group|having|holdlock|identity|identitycol|identity_insert|if|in|index|inner|insert|intersect|into|is|join|key|kill|left|like|lineno|load|match|matched|merge|natural|national|nocheck|nonclustered|nocycle|not|null|nullif|of|off|offsets|on|open|opendatasource|openquery|openrowset|openxml|option|or|order|outer|over|partition|percent|pivot|plan|preceding|precision|primary|print|proc|procedure|public|raiserror|read|readtext|reconfigure|references|replication|restore|restrict|return|revoke|right|rollback|rowcount|rowguidcol|rows?|rule|save|schema|select|session_user|set|setuser|shutdown|some|start|statistics|system_user|table|textsize|then|to|top|tran|transaction|trigger|truncate|tsequal|unbounded|union|unique|unpivot|update|updatetext|use|user|using|values|varying|view|waitfor|when|where|while|with|within|writetext|xml)(?=[^\w-]|$)/i, 2 | null],["lit",/^[+-]?(?:0x[\da-f]+|(?:\.\d+|\d+(?:\.\d*)?)(?:e[+-]?\d+)?)/i],["pln",/^[_a-z][\w-]*/i],["pun",/^[^\w\t\n\r "'\xa0][^\w\t\n\r "'+\xa0-]*/]]),["sql"]); 3 | -------------------------------------------------------------------------------- /assets/libs/prettify/lang-tcl.js: -------------------------------------------------------------------------------- 1 | var a=null; 2 | PR.registerLangHandler(PR.createSimpleLexer([["opn",/^{+/,a,"{"],["clo",/^}+/,a,"}"],["com",/^#[^\n\r]*/,a,"#"],["pln",/^[\t\n\r \xa0]+/,a,"\t\n\r \u00a0"],["str",/^"(?:[^"\\]|\\[\S\s])*(?:"|$)/,a,'"']],[["kwd",/^(?:after|append|apply|array|break|case|catch|continue|error|eval|exec|exit|expr|for|foreach|if|incr|info|proc|return|set|switch|trace|uplevel|upvar|while)\b/,a],["lit",/^[+-]?(?:[#0]x[\da-f]+|\d+\/\d+|(?:\.\d+|\d+(?:\.\d*)?)(?:[de][+-]?\d+)?)/i],["lit", 3 | /^'(?:-*(?:\w|\\[!-~])(?:[\w-]*|\\[!-~])[!=?]?)?/],["pln",/^-*(?:[_a-z]|\\[!-~])(?:[\w-]*|\\[!-~])[!=?]?/i],["pun",/^[^\w\t\n\r "'-);\\\xa0]+/]]),["tcl"]); 4 | -------------------------------------------------------------------------------- /assets/libs/prettify/lang-tex.js: -------------------------------------------------------------------------------- 1 | PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\r \xa0]+/,null,"\t\n\r \u00a0"],["com",/^%[^\n\r]*/,null,"%"]],[["kwd",/^\\[@-Za-z]+/],["kwd",/^\\./],["typ",/^[$&]/],["lit",/[+-]?(?:\.\d+|\d+(?:\.\d*)?)(cm|em|ex|in|pc|pt|bp|mm)/i],["pun",/^[()=[\]{}]+/]]),["latex","tex"]); 2 | -------------------------------------------------------------------------------- /assets/libs/prettify/lang-vb.js: -------------------------------------------------------------------------------- 1 | PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\r \xa0\u2028\u2029]+/,null,"\t\n\r \u00a0\u2028\u2029"],["str",/^(?:["\u201c\u201d](?:[^"\u201c\u201d]|["\u201c\u201d]{2})(?:["\u201c\u201d]c|$)|["\u201c\u201d](?:[^"\u201c\u201d]|["\u201c\u201d]{2})*(?:["\u201c\u201d]|$))/i,null,'"\u201c\u201d'],["com",/^['\u2018\u2019](?:_(?:\r\n?|[^\r]?)|[^\n\r_\u2028\u2029])*/,null,"'\u2018\u2019"]],[["kwd",/^(?:addhandler|addressof|alias|and|andalso|ansi|as|assembly|auto|boolean|byref|byte|byval|call|case|catch|cbool|cbyte|cchar|cdate|cdbl|cdec|char|cint|class|clng|cobj|const|cshort|csng|cstr|ctype|date|decimal|declare|default|delegate|dim|directcast|do|double|each|else|elseif|end|endif|enum|erase|error|event|exit|finally|for|friend|function|get|gettype|gosub|goto|handles|if|implements|imports|in|inherits|integer|interface|is|let|lib|like|long|loop|me|mod|module|mustinherit|mustoverride|mybase|myclass|namespace|new|next|not|notinheritable|notoverridable|object|on|option|optional|or|orelse|overloads|overridable|overrides|paramarray|preserve|private|property|protected|public|raiseevent|readonly|redim|removehandler|resume|return|select|set|shadows|shared|short|single|static|step|stop|string|structure|sub|synclock|then|throw|to|try|typeof|unicode|until|variant|wend|when|while|with|withevents|writeonly|xor|endif|gosub|let|variant|wend)\b/i, 2 | null],["com",/^rem\b.*/i],["lit",/^(?:true\b|false\b|nothing\b|\d+(?:e[+-]?\d+[dfr]?|[dfilrs])?|(?:&h[\da-f]+|&o[0-7]+)[ils]?|\d*\.\d+(?:e[+-]?\d+)?[dfr]?|#\s+(?:\d+[/-]\d+[/-]\d+(?:\s+\d+:\d+(?::\d+)?(\s*(?:am|pm))?)?|\d+:\d+(?::\d+)?(\s*(?:am|pm))?)\s+#)/i],["pln",/^(?:(?:[a-z]|_\w)\w*(?:\[[!#%&@]+])?|\[(?:[a-z]|_\w)\w*])/i],["pun",/^[^\w\t\n\r "'[\]\xa0\u2018\u2019\u201c\u201d\u2028\u2029]+/],["pun",/^(?:\[|])/]]),["vb","vbs"]); 3 | -------------------------------------------------------------------------------- /assets/libs/prettify/lang-vhdl.js: -------------------------------------------------------------------------------- 1 | PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\r \xa0]+/,null,"\t\n\r \u00a0"]],[["str",/^(?:[box]?"(?:[^"]|"")*"|'.')/i],["com",/^--[^\n\r]*/],["kwd",/^(?:abs|access|after|alias|all|and|architecture|array|assert|attribute|begin|block|body|buffer|bus|case|component|configuration|constant|disconnect|downto|else|elsif|end|entity|exit|file|for|function|generate|generic|group|guarded|if|impure|in|inertial|inout|is|label|library|linkage|literal|loop|map|mod|nand|new|next|nor|not|null|of|on|open|or|others|out|package|port|postponed|procedure|process|pure|range|record|register|reject|rem|report|return|rol|ror|select|severity|shared|signal|sla|sll|sra|srl|subtype|then|to|transport|type|unaffected|units|until|use|variable|wait|when|while|with|xnor|xor)(?=[^\w-]|$)/i, 2 | null],["typ",/^(?:bit|bit_vector|character|boolean|integer|real|time|string|severity_level|positive|natural|signed|unsigned|line|text|std_u?logic(?:_vector)?)(?=[^\w-]|$)/i,null],["typ",/^'(?:active|ascending|base|delayed|driving|driving_value|event|high|image|instance_name|last_active|last_event|last_value|left|leftof|length|low|path_name|pos|pred|quiet|range|reverse_range|right|rightof|simple_name|stable|succ|transaction|val|value)(?=[^\w-]|$)/i,null],["lit",/^\d+(?:_\d+)*(?:#[\w.\\]+#(?:[+-]?\d+(?:_\d+)*)?|(?:\.\d+(?:_\d+)*)?(?:e[+-]?\d+(?:_\d+)*)?)/i], 3 | ["pln",/^(?:[a-z]\w*|\\[^\\]*\\)/i],["pun",/^[^\w\t\n\r "'\xa0][^\w\t\n\r "'\xa0-]*/]]),["vhdl","vhd"]); 4 | -------------------------------------------------------------------------------- /assets/libs/prettify/lang-wiki.js: -------------------------------------------------------------------------------- 1 | PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\d\t a-gi-z\xa0]+/,null,"\t \u00a0abcdefgijklmnopqrstuvwxyz0123456789"],["pun",/^[*=[\]^~]+/,null,"=*~^[]"]],[["lang-wiki.meta",/(?:^^|\r\n?|\n)(#[a-z]+)\b/],["lit",/^[A-Z][a-z][\da-z]+[A-Z][a-z][^\W_]+\b/],["lang-",/^{{{([\S\s]+?)}}}/],["lang-",/^`([^\n\r`]+)`/],["str",/^https?:\/\/[^\s#/?]*(?:\/[^\s#?]*)?(?:\?[^\s#]*)?(?:#\S*)?/i],["pln",/^(?:\r\n|[\S\s])[^\n\r#*=A-[^`h{~]*/]]),["wiki"]); 2 | PR.registerLangHandler(PR.createSimpleLexer([["kwd",/^#[a-z]+/i,null,"#"]],[]),["wiki.meta"]); 3 | -------------------------------------------------------------------------------- /assets/libs/prettify/lang-yaml.js: -------------------------------------------------------------------------------- 1 | var a=null; 2 | PR.registerLangHandler(PR.createSimpleLexer([["pun",/^[:>?|]+/,a,":|>?"],["dec",/^%(?:YAML|TAG)[^\n\r#]+/,a,"%"],["typ",/^&\S+/,a,"&"],["typ",/^!\S*/,a,"!"],["str",/^"(?:[^"\\]|\\.)*(?:"|$)/,a,'"'],["str",/^'(?:[^']|'')*(?:'|$)/,a,"'"],["com",/^#[^\n\r]*/,a,"#"],["pln",/^\s+/,a," \t\r\n"]],[["dec",/^(?:---|\.\.\.)(?:[\n\r]|$)/],["pun",/^-/],["kwd",/^\w+:[\n\r ]/],["pln",/^\w+/]]),["yaml","yml"]); 3 | -------------------------------------------------------------------------------- /assets/libs/prettify/prettify.css: -------------------------------------------------------------------------------- 1 | .pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun,.opn,.clo{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun,.opn,.clo{color:#440}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee} -------------------------------------------------------------------------------- /assets/libs/prettify/sons-of-obsidian.css: -------------------------------------------------------------------------------- 1 | /* 2 | * Derived from einaros's Sons of Obsidian theme at 3 | * http://studiostyl.es/schemes/son-of-obsidian by 4 | * Alex Ford of CodeTunnel: 5 | * http://CodeTunnel.com/blog/post/71/google-code-prettify-obsidian-theme 6 | */ 7 | 8 | .str 9 | { 10 | color: #EC7600; 11 | } 12 | .kwd 13 | { 14 | color: #93C763; 15 | } 16 | .com 17 | { 18 | color: #66747B; 19 | } 20 | .typ 21 | { 22 | color: #678CB1; 23 | } 24 | .lit 25 | { 26 | color: #FACD22; 27 | } 28 | .pun 29 | { 30 | color: #F1F2F3; 31 | } 32 | .pln 33 | { 34 | color: #F1F2F3; 35 | } 36 | .tag 37 | { 38 | color: #8AC763; 39 | } 40 | .atn 41 | { 42 | color: #E0E2E4; 43 | } 44 | .atv 45 | { 46 | color: #EC7600; 47 | } 48 | .dec 49 | { 50 | color: purple; 51 | } 52 | pre.prettyprint 53 | { 54 | border: 0px solid #888; 55 | } 56 | ol.linenums 57 | { 58 | margin-top: 0; 59 | margin-bottom: 0; 60 | } 61 | .prettyprint { 62 | background: #000; 63 | } 64 | li.L0, li.L1, li.L2, li.L3, li.L4, li.L5, li.L6, li.L7, li.L8, li.L9 65 | { 66 | color: #555; 67 | list-style-type: decimal; 68 | } 69 | li.L1, li.L3, li.L5, li.L7, li.L9 { 70 | background: #111; 71 | } 72 | @media print 73 | { 74 | .str 75 | { 76 | color: #060; 77 | } 78 | .kwd 79 | { 80 | color: #006; 81 | font-weight: bold; 82 | } 83 | .com 84 | { 85 | color: #600; 86 | font-style: italic; 87 | } 88 | .typ 89 | { 90 | color: #404; 91 | font-weight: bold; 92 | } 93 | .lit 94 | { 95 | color: #044; 96 | } 97 | .pun 98 | { 99 | color: #440; 100 | } 101 | .pln 102 | { 103 | color: #000; 104 | } 105 | .tag 106 | { 107 | color: #006; 108 | font-weight: bold; 109 | } 110 | .atn 111 | { 112 | color: #404; 113 | } 114 | .atv 115 | { 116 | color: #060; 117 | } 118 | } 119 | -------------------------------------------------------------------------------- /assets/libs/prettify/sunburst.css: -------------------------------------------------------------------------------- 1 | /* Pretty printing styles. Used with prettify.js. */ 2 | /* Vim sunburst theme by David Leibovic */ 3 | 4 | pre .str, code .str { color: #65B042; } /* string - green */ 5 | pre .kwd, code .kwd { color: #E28964; } /* keyword - dark pink */ 6 | pre .com, code .com { color: #AEAEAE; font-style: italic; } /* comment - gray */ 7 | pre .typ, code .typ { color: #89bdff; } /* type - light blue */ 8 | pre .lit, code .lit { color: #3387CC; } /* literal - blue */ 9 | pre .pun, code .pun { color: #fff; } /* punctuation - white */ 10 | pre .pln, code .pln { color: #fff; } /* plaintext - white */ 11 | pre .tag, code .tag { color: #89bdff; } /* html/xml tag - light blue */ 12 | pre .atn, code .atn { color: #bdb76b; } /* html/xml attribute name - khaki */ 13 | pre .atv, code .atv { color: #65B042; } /* html/xml attribute value - green */ 14 | pre .dec, code .dec { color: #3387CC; } /* decimal - blue */ 15 | 16 | pre.prettyprint, code.prettyprint { 17 | background-color: #000; 18 | -moz-border-radius: 8px; 19 | -webkit-border-radius: 8px; 20 | -o-border-radius: 8px; 21 | -ms-border-radius: 8px; 22 | -khtml-border-radius: 8px; 23 | border-radius: 8px; 24 | } 25 | 26 | pre.prettyprint { 27 | width: 95%; 28 | margin: 1em auto; 29 | padding: 1em; 30 | white-space: pre-wrap; 31 | } 32 | 33 | 34 | /* Specify class=linenums on a pre to get line numbering */ 35 | ol.linenums { margin-top: 0; margin-bottom: 0; color: #AEAEAE; } /* IE indents via margin-left */ 36 | li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8 { list-style-type: none } 37 | /* Alternate shading for lines */ 38 | li.L1,li.L3,li.L5,li.L7,li.L9 { } 39 | 40 | @media print { 41 | pre .str, code .str { color: #060; } 42 | pre .kwd, code .kwd { color: #006; font-weight: bold; } 43 | pre .com, code .com { color: #600; font-style: italic; } 44 | pre .typ, code .typ { color: #404; font-weight: bold; } 45 | pre .lit, code .lit { color: #044; } 46 | pre .pun, code .pun { color: #440; } 47 | pre .pln, code .pln { color: #000; } 48 | pre .tag, code .tag { color: #006; font-weight: bold; } 49 | pre .atn, code .atn { color: #404; } 50 | pre .atv, code .atv { color: #060; } 51 | } 52 | -------------------------------------------------------------------------------- /assets/libs/sortable/sortable-theme-bootstrap.css: -------------------------------------------------------------------------------- 1 | /* line 2, ../sass/_sortable.sass */ 2 | table[data-sortable] { 3 | border-collapse: collapse; 4 | border-spacing: 0; 5 | } 6 | /* line 6, ../sass/_sortable.sass */ 7 | table[data-sortable] th { 8 | vertical-align: bottom; 9 | font-weight: bold; 10 | } 11 | /* line 10, ../sass/_sortable.sass */ 12 | table[data-sortable] th, table[data-sortable] td { 13 | text-align: left; 14 | padding: 10px; 15 | } 16 | /* line 14, ../sass/_sortable.sass */ 17 | table[data-sortable] th:not([data-sortable="false"]) { 18 | -webkit-user-select: none; 19 | -moz-user-select: none; 20 | -ms-user-select: none; 21 | -o-user-select: none; 22 | user-select: none; 23 | -webkit-tap-highlight-color: rgba(0, 0, 0, 0); 24 | -webkit-touch-callout: none; 25 | cursor: pointer; 26 | } 27 | /* line 26, ../sass/_sortable.sass */ 28 | table[data-sortable] th:after { 29 | content: ""; 30 | visibility: hidden; 31 | display: inline-block; 32 | vertical-align: inherit; 33 | height: 0; 34 | width: 0; 35 | border-width: 5px; 36 | border-style: solid; 37 | border-color: transparent; 38 | margin-right: 1px; 39 | margin-left: 10px; 40 | float: right; 41 | } 42 | /* line 40, ../sass/_sortable.sass */ 43 | table[data-sortable] th[data-sorted="true"]:after { 44 | visibility: visible; 45 | } 46 | /* line 43, ../sass/_sortable.sass */ 47 | table[data-sortable] th[data-sorted-direction="descending"]:after { 48 | border-top-color: inherit; 49 | margin-top: 8px; 50 | } 51 | /* line 47, ../sass/_sortable.sass */ 52 | table[data-sortable] th[data-sorted-direction="ascending"]:after { 53 | border-bottom-color: inherit; 54 | margin-top: 3px; 55 | } 56 | 57 | /* line 5, ../sass/sortable-theme-bootstrap.sass */ 58 | table[data-sortable].sortable-theme-bootstrap { 59 | font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; 60 | font-size: 14px; 61 | line-height: 20px; 62 | color: #333333; 63 | background: white; 64 | } 65 | /* line 12, ../sass/sortable-theme-bootstrap.sass */ 66 | table[data-sortable].sortable-theme-bootstrap thead th { 67 | border-bottom: 2px solid #e0e0e0; 68 | } 69 | /* line 15, ../sass/sortable-theme-bootstrap.sass */ 70 | table[data-sortable].sortable-theme-bootstrap tbody td { 71 | border-top: 1px solid #e0e0e0; 72 | } 73 | /* line 18, ../sass/sortable-theme-bootstrap.sass */ 74 | table[data-sortable].sortable-theme-bootstrap th[data-sorted="true"] { 75 | color: #3a87ad; 76 | background: #d9edf7; 77 | border-bottom-color: #bce8f1; 78 | } 79 | /* line 23, ../sass/sortable-theme-bootstrap.sass */ 80 | table[data-sortable].sortable-theme-bootstrap th[data-sorted="true"][data-sorted-direction="descending"]:after { 81 | border-top-color: #3a87ad; 82 | } 83 | /* line 26, ../sass/sortable-theme-bootstrap.sass */ 84 | table[data-sortable].sortable-theme-bootstrap th[data-sorted="true"][data-sorted-direction="ascending"]:after { 85 | border-bottom-color: #3a87ad; 86 | } 87 | /* line 31, ../sass/sortable-theme-bootstrap.sass */ 88 | table[data-sortable].sortable-theme-bootstrap.sortable-theme-bootstrap-striped tbody > tr:nth-child(odd) > td { 89 | background-color: #f9f9f9; 90 | } 91 | -------------------------------------------------------------------------------- /assets/libs/sortable/sortable.min.js: -------------------------------------------------------------------------------- 1 | /*! sortable.js 0.5.1 */ 2 | (function(){var a,b,c,d,e,f,g;a="table[data-sortable]",d=/^-?[£$¤]?[\d,.]+%?$/,g=/^\s+|\s+$/g,f="ontouchstart"in document.documentElement,c=f?"touchstart":"click",b=function(a,b,c){return null!=a.addEventListener?a.addEventListener(b,c,!1):a.attachEvent("on"+b,c)},e={init:function(b){var c,d,f,g,h;for(null==b&&(b={}),null==b.selector&&(b.selector=a),d=document.querySelectorAll(b.selector),h=[],f=0,g=d.length;g>f;f++)c=d[f],h.push(e.initTable(c));return h},initTable:function(a){var b,c,d,f,g,h;if(1===(null!=(h=a.tHead)?h.rows.length:void 0)&&"true"!==a.getAttribute("data-sortable-initialized")){for(a.setAttribute("data-sortable-initialized","true"),d=a.querySelectorAll("th"),b=f=0,g=d.length;g>f;b=++f)c=d[b],"false"!==c.getAttribute("data-sortable")&&e.setupClickableTH(a,c,b);return a}},setupClickableTH:function(a,d,f){var g;return g=e.getColumnType(a,f),b(d,c,function(){var b,c,h,i,j,k,l,m,n,o,p,q,r,s,t,u;for(j="true"===this.getAttribute("data-sorted"),k=this.getAttribute("data-sorted-direction"),b=j?"ascending"===k?"descending":"ascending":g.defaultSortDirection,m=this.parentNode.querySelectorAll("th"),n=0,q=m.length;q>n;n++)d=m[n],d.setAttribute("data-sorted","false"),d.removeAttribute("data-sorted-direction");for(this.setAttribute("data-sorted","true"),this.setAttribute("data-sorted-direction",b),l=a.tBodies[0],h=[],t=l.rows,o=0,r=t.length;r>o;o++)c=t[o],h.push([e.getNodeValue(c.cells[f]),c]);for(j?h.reverse():h.sort(g.compare),u=[],p=0,s=h.length;s>p;p++)i=h[p],u.push(l.appendChild(i[1]));return u})},getColumnType:function(a,b){var c,f,g,h,i;for(i=a.tBodies[0].rows,g=0,h=i.length;h>g;g++)if(c=i[g],f=e.getNodeValue(c.cells[b]),""!==f&&f.match(d))return e.types.numeric;return e.types.alpha},getNodeValue:function(a){return a?null!==a.getAttribute("data-value")?a.getAttribute("data-value"):"undefined"!=typeof a.innerText?a.innerText.replace(g,""):a.textContent.replace(g,""):""},types:{numeric:{defaultSortDirection:"descending",compare:function(a,b){var c,d;return c=parseFloat(a[0].replace(/[^0-9.-]/g,"")),d=parseFloat(b[0].replace(/[^0-9.-]/g,"")),isNaN(c)&&(c=0),isNaN(d)&&(d=0),d-c}},alpha:{defaultSortDirection:"ascending",compare:function(a,b){var c,d;return c=a[0].toLowerCase(),d=b[0].toLowerCase(),c===d?0:d>c?-1:1}}}},setTimeout(e.init,0),window.Sortable=e}).call(this); -------------------------------------------------------------------------------- /assets/locales/en-US.yaml: -------------------------------------------------------------------------------- 1 | en-US: 2 | menu: 3 | deploy: "Node Deployment" 4 | dashboard: "Kubernetes Dashboard" 5 | button: 6 | add: "Add Node" 7 | deploy: "Start Deploy" 8 | refresh: "Refresh" 9 | log: "Logs" 10 | remove: "Remove" 11 | column: 12 | select: "Select Node" 13 | name: "Node Name" 14 | address: "IP Address" 15 | port: "SSH Port" 16 | password: "Password" 17 | created: "Created At" 18 | status: "Status" 19 | message: "Message" 20 | operation: "Operation" 21 | nodeform: 22 | title: "Add Node" 23 | name: "Node Name" 24 | address: "IP Address" 25 | port: "SSH Port" 26 | password: "Password" 27 | confirm: "Confirm Password" 28 | add: "Add" 29 | close: "Close" 30 | invalid_name: "Node name is invalid" 31 | empty_name: "Node name is empty" 32 | name_length: "Length of node name should between 4-15 characters" 33 | name_regex: "Node name should only contains characters, numbers, dash or underline" 34 | empty_ip: "IP address is empty" 35 | invalid_ip: "IP address is invalid" 36 | empty_password: "SSH password is empty" 37 | password_mismatch: "SSH password mismatch" 38 | empty_port: "SSH port is empty" 39 | invalid_port: "SSH port is invalid" 40 | success: "Node has been created successfully!" 41 | failed: "Failed to create node!" 42 | logform: 43 | origin: "Loading installation log..." 44 | close: "Close" 45 | title: "Installation Log" 46 | failed: "Failed to get installation log!" 47 | status: 48 | ready: "Ready to deploy" 49 | deploying: "Deploying" 50 | deployed: "Deployed" 51 | disconnect: "Disconnected" 52 | failed: "Failed" 53 | refresh: 54 | success: "Node refreshed!" 55 | failed: "Failed to refresh node!" 56 | remove: 57 | title: "Remove Node" 58 | confirm: "Are you sure to remove node" 59 | success: "Node removed!" 60 | failed: "Failed to remove node!" 61 | ok: "Remove" 62 | cancel: "Cancel" 63 | batch: 64 | success: "Deploy task created!" 65 | failed: "Failed to create deploy task!" 66 | install: 67 | step1: "Installing Docker Engine" 68 | step2: "Loading K8S images" 69 | step3: "Installing K8S components" 70 | step4: "Joining K8S cluster" 71 | step5: "Done" 72 | -------------------------------------------------------------------------------- /assets/locales/zh-CN.yaml: -------------------------------------------------------------------------------- 1 | zh-CN: 2 | menu: 3 | deploy: "节点部署" 4 | dashboard: "K8S面版" 5 | button: 6 | add: "添加节点" 7 | deploy: "一键部署" 8 | refresh: "刷新" 9 | log: "安装日志" 10 | remove: "删除" 11 | column: 12 | select: "节点选择" 13 | name: "节点名称" 14 | address: "内网IP" 15 | port: "SSH端口" 16 | password: "登录密码" 17 | created: "添加时间" 18 | status: "节点状态" 19 | message: "节点信息" 20 | operation: "节点操作" 21 | nodeform: 22 | title: "添加节点" 23 | name: "节点名称" 24 | address: "内网IP" 25 | port: "SSH端口" 26 | password: "登录密码" 27 | confirm: "确认登录密码" 28 | add: "添加" 29 | close: "关闭" 30 | invalid_name: "节点名称不合法" 31 | empty_name: "节点名称必填" 32 | name_length: "节点名称长度应在4-15个字符之间" 33 | name_regex: "节点名称应由字母,数字,横线或者下划线构成" 34 | empty_ip: "内网IP地址不能为空" 35 | invalid_ip: "请输入正确的内网IPV4地址" 36 | empty_password: "SSH密码不能为空" 37 | password_mismatch: "密码两次输入不一致" 38 | empty_port: "SSH端口号必填" 39 | invalid_port: "端口号只能为数字" 40 | success: "成功添加节点!" 41 | failed: "请求发生错误, 无法添加节点! " 42 | logform: 43 | origin: "正在加载安装日志..." 44 | close: "关闭" 45 | title: "安装日志" 46 | failed: "获取安装日志失败!" 47 | status: 48 | ready: "待部署" 49 | deploying: "部署中" 50 | deployed: "已部署" 51 | disconnect: "无法连接" 52 | failed: "部署失败" 53 | refresh: 54 | success: "成功更新节点!" 55 | failed: "更新节点失败!" 56 | remove: 57 | title: "移除节点" 58 | confirm: "是否确认移除节点" 59 | success: "成功移除节点!" 60 | failed: "移除节点失败!" 61 | ok: "确定移除" 62 | cancel: "取消" 63 | batch: 64 | success: "成功创建批量部署任务!" 65 | failed: "请求发生错误,无法创建批量部署任务!" 66 | install: 67 | step1: "开始安装Docker Engine" 68 | step2: "开始载入K8S镜像" 69 | step3: "开始安装K8S组件" 70 | step4: "加入节点到集群中" 71 | step5: "部署完成" 72 | -------------------------------------------------------------------------------- /controllers/index.go: -------------------------------------------------------------------------------- 1 | package controllers 2 | 3 | import ( 4 | "net/http" 5 | 6 | "github.com/gin-gonic/gin" 7 | ) 8 | 9 | func (router *MainRouter) IndexHandler(c *gin.Context) { 10 | c.HTML(http.StatusOK, "index.html", gin.H{ 11 | "Nodes": router.nodeList.Nodes, 12 | }) 13 | } 14 | -------------------------------------------------------------------------------- /controllers/install.go: -------------------------------------------------------------------------------- 1 | package controllers 2 | 3 | import ( 4 | "encoding/json" 5 | "fmt" 6 | "net/http" 7 | 8 | "github.com/Orientsoft/kubekit/models" 9 | "github.com/Orientsoft/kubekit/utils" 10 | 11 | "github.com/gin-gonic/gin" 12 | ) 13 | 14 | const ( 15 | installCmd = "curl -L http://%s/node.sh | bash -s %s %s %s --token=%s %s:6443>install.log 2>&1 &" 16 | ) 17 | 18 | func (router *MainRouter) InstallNodeHandler(c *gin.Context) { 19 | params := struct { 20 | Ids []string `json:"ids"` 21 | }{} 22 | 23 | c.BindJSON(¶ms) 24 | fmt.Println("Params.Ids:", params.Ids) 25 | 26 | if len(params.Ids) > 0 { 27 | router.startInstall(params.Ids) 28 | } 29 | 30 | resp := models.Response{Success: true, Message: "OK!", Data: nil} 31 | c.JSON(http.StatusOK, resp) 32 | } 33 | 34 | func (router *MainRouter) startInstall(ids []string) { 35 | masterIP := utils.GetMasterIP() 36 | token := utils.GetToken() 37 | masterAddr := masterIP + router.filePort 38 | kitAddr := masterIP + router.toolkitPort 39 | 40 | if masterIP != "" && token != "" { 41 | for _, id := range ids { 42 | go utils.ExecuteCmd(router.nodeMap[id], fmt.Sprintf(installCmd, masterAddr, masterAddr, kitAddr, id, token, masterIP)) 43 | } 44 | } 45 | } 46 | 47 | func (router *MainRouter) NodeProgressHandler(c *gin.Context) { 48 | id := c.Param("id") 49 | step := c.Param("step") 50 | 51 | if id == "" || step == "" { 52 | return 53 | } 54 | 55 | //if node id doesn't exist, just return 56 | if _, ok := router.nodeMap[id]; !ok { 57 | return 58 | } 59 | 60 | var comment string 61 | status := 1 62 | 63 | switch step { 64 | case "1": 65 | comment = "(1/5) " + Translate("install.step1") 66 | case "2": 67 | comment = "(2/5) " + Translate("install.step2") 68 | case "3": 69 | comment = "(3/5) " + Translate("install.step3") 70 | case "4": 71 | comment = "(4/5) " + Translate("install.step4") 72 | case "5": 73 | comment = Translate("install.step5") 74 | status = 2 75 | } 76 | 77 | //Update node status 78 | router.nodeList.UpdateNodeStatus(id, comment, status) 79 | 80 | //Update node map in memory 81 | node := router.nodeMap[id] 82 | node.Comment = comment 83 | node.Status = status 84 | 85 | //Broadcast websocket message to all clients 86 | if data, err := json.Marshal(node); err == nil { 87 | sendMessage(data) 88 | } 89 | } 90 | -------------------------------------------------------------------------------- /controllers/router.go: -------------------------------------------------------------------------------- 1 | package controllers 2 | 3 | import ( 4 | "fmt" 5 | "html/template" 6 | "strings" 7 | 8 | "github.com/Orientsoft/kubekit/models" 9 | "github.com/Orientsoft/kubekit/utils" 10 | "github.com/qor/i18n" 11 | "github.com/qor/i18n/backends/yaml" 12 | 13 | "github.com/fatih/color" 14 | "github.com/gin-gonic/gin" 15 | ) 16 | 17 | var ( 18 | I18n *i18n.I18n 19 | Locale string 20 | ) 21 | 22 | type MainRouter struct { 23 | router *gin.Engine 24 | nodeList *models.NodeList 25 | nodeMap map[string]*models.Node 26 | filePort string 27 | toolkitPort string 28 | } 29 | 30 | func DetectLocale() gin.HandlerFunc { 31 | return func(c *gin.Context) { 32 | lang := strings.Split(c.Request.Header.Get("Accept-Language"), ",")[0] 33 | if strings.Contains(lang, "en") { 34 | Locale = "en-US" 35 | } else if strings.Contains(lang, "zh") { 36 | Locale = "zh-CN" 37 | } 38 | // before request 39 | c.Next() 40 | } 41 | } 42 | 43 | func StartToolkitServer(filePort, toolkitPort string) { 44 | r := gin.Default() 45 | 46 | I18n = i18n.New( 47 | yaml.New("./assets/locales"), 48 | ) 49 | 50 | r.Use(DetectLocale()) 51 | r.SetFuncMap(template.FuncMap{ 52 | "t": Translate, 53 | }) 54 | 55 | r.Static("/assets", "./assets") 56 | r.LoadHTMLGlob("templates/*") 57 | 58 | mainRouter := &MainRouter{} 59 | mainRouter.Initialize(r, filePort, toolkitPort) 60 | } 61 | 62 | func Translate(key string) string { 63 | return string(I18n.T(Locale, key)) 64 | } 65 | 66 | func (self *MainRouter) Initialize(r *gin.Engine, filePort, toolkitPort string) { 67 | 68 | self.filePort = filePort 69 | self.toolkitPort = toolkitPort 70 | 71 | //Initialize node list 72 | self.nodeList = new(models.NodeList) 73 | if err := self.nodeList.Deserialize(); err != nil { 74 | self.nodeList.Nodes = []models.Node{} 75 | } 76 | 77 | //Initialize node map 78 | self.nodeMap = map[string]*models.Node{} 79 | for i := 0; i < len(self.nodeList.Nodes); i++ { 80 | self.nodeMap[self.nodeList.Nodes[i].ID] = &self.nodeList.Nodes[i] 81 | } 82 | 83 | self.router = r 84 | self.router.GET("/", self.IndexHandler) 85 | 86 | self.router.GET("/ws", func(c *gin.Context) { 87 | self.WSHandler(c.Writer, c.Request) 88 | }) 89 | 90 | //Node operations 91 | self.router.GET("/node/list", self.ListNodesHandler) 92 | self.router.POST("/node", self.CreateNodeHandler) 93 | self.router.PUT("/node/remove/:id", self.RemoveNodeHandler) 94 | self.router.GET("/node/refresh/:id", self.RefreshNodeHandler) 95 | self.router.GET("/node/log/:id", self.GetInstallLog) 96 | 97 | //Installation operations 98 | self.router.POST("/install", self.InstallNodeHandler) 99 | self.router.GET("/install/progress/:id/:step", self.NodeProgressHandler) 100 | 101 | color.Green(fmt.Sprintf("\r\n%sToolkit server is listening at: 0.0.0.0%s", utils.CheckSymbol, toolkitPort)) 102 | self.router.Run(toolkitPort) 103 | } 104 | -------------------------------------------------------------------------------- /controllers/websocket.go: -------------------------------------------------------------------------------- 1 | package controllers 2 | 3 | import ( 4 | "fmt" 5 | "net/http" 6 | 7 | "github.com/gorilla/websocket" 8 | ) 9 | 10 | var connections map[*websocket.Conn]bool 11 | 12 | func init() { 13 | connections = make(map[*websocket.Conn]bool) 14 | } 15 | 16 | func (router *MainRouter) WSHandler(w http.ResponseWriter, r *http.Request) { 17 | conn, err := websocket.Upgrade(w, r, nil, 1024, 1024) 18 | 19 | if _, ok := err.(websocket.HandshakeError); ok { 20 | http.Error(w, "Not a websocket handleshake", 400) 21 | return 22 | } else if err != nil { 23 | fmt.Println(err) 24 | } 25 | 26 | connections[conn] = true 27 | fmt.Println("A new connection added...") 28 | } 29 | 30 | func sendMessage(msg []byte) { 31 | fmt.Println("Send data to all clients...") 32 | for conn := range connections { 33 | if err := conn.WriteMessage(websocket.TextMessage, msg); err != nil { 34 | delete(connections, conn) 35 | } 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /main.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "os" 6 | 7 | "github.com/Orientsoft/kubekit/utils" 8 | 9 | "github.com/Orientsoft/kubekit/controllers" 10 | 11 | "github.com/fatih/color" 12 | 13 | cli "gopkg.in/urfave/cli.v1" 14 | ) 15 | 16 | const ( 17 | FilePort = iota 18 | ToolkitPort 19 | VERSION = "0.3" 20 | ) 21 | 22 | func initialize() { 23 | //Remove the install log file 24 | os.Remove("install.log") 25 | utils.DisplayLogo(VERSION) 26 | } 27 | 28 | func main() { 29 | initialize() 30 | 31 | app := cli.NewApp() 32 | app.Name = "KubeKit" 33 | app.Usage = "A toolkit for Kubernetes & apps offline deployment." 34 | app.Version = VERSION 35 | app.Action = func(c *cli.Context) error { 36 | return nil 37 | } 38 | 39 | app.Commands = []cli.Command{ 40 | { 41 | Name: "init", 42 | Aliases: []string{"i"}, 43 | Usage: "Initialize current server with Docker engine & Kubernetes master.", 44 | ArgsUsage: "K8S_MASTER_IP FILE_SERVER_PORT TOOLKIT_SERVER_PORT", 45 | Action: func(c *cli.Context) error { 46 | 47 | masterIP := c.Args().Get(0) 48 | 49 | if masterIP == "" { 50 | color.Red("Please run kubekit with master IP: kubekit i K8S_MASTER_IP") 51 | os.Exit(0) 52 | } 53 | 54 | color.Blue("Initialization process started, with kubernetes master IP: %s\r\n", masterIP) 55 | utils.SaveMasterIP(masterIP) 56 | 57 | filePort := getServerPort(c, FilePort, 1) 58 | toolkitPort := getServerPort(c, ToolkitPort, 2) 59 | 60 | masterAddr := masterIP + filePort 61 | 62 | srv := utils.StartServer(filePort) 63 | defer srv.Shutdown(context.Background()) 64 | 65 | if !utils.SetupDocker(masterAddr) { 66 | color.Red("%sProgram terminated...", utils.CrossSymbol) 67 | os.Exit(1) 68 | } 69 | 70 | if utils.SetupMaster(masterAddr) { 71 | // Launch toolkit server 72 | controllers.StartToolkitServer(filePort, toolkitPort) 73 | } 74 | 75 | return nil 76 | }, 77 | }, 78 | { 79 | Name: "server", 80 | Aliases: []string{"s"}, 81 | Usage: "Start kubekit file server & toolkit server.", 82 | ArgsUsage: "FILE_SERVER_PORT TOOLKIT_SERVER_PORT", 83 | Action: func(c *cli.Context) error { 84 | filePort := getServerPort(c, FilePort, 0) 85 | toolkitPort := getServerPort(c, ToolkitPort, 1) 86 | 87 | srv := utils.StartServer(filePort) 88 | defer srv.Shutdown(context.Background()) 89 | // Launch toolkit server only 90 | controllers.StartToolkitServer(filePort, toolkitPort) 91 | return nil 92 | }, 93 | }, 94 | } 95 | 96 | app.Run(os.Args) 97 | } 98 | 99 | // getServerPort parse and get server port by port type and argument position 100 | // portType: 1.File server 2.Toolkit server 101 | func getServerPort(c *cli.Context, portType, argPos int) string { 102 | var port string 103 | 104 | if len(c.Args().Get(argPos)) > 0 { 105 | if utils.IsValidPort(c.Args().Get(argPos)) { 106 | port = ":" + c.Args().Get(argPos) 107 | } else { 108 | if portType == FilePort { 109 | color.Red("%sPlease input a valid file server port!", utils.CrossSymbol) 110 | } else if portType == ToolkitPort { 111 | color.Red("%sPlease input a valid toolkit server port!", utils.CrossSymbol) 112 | } 113 | os.Exit(1) 114 | } 115 | } else { 116 | if portType == FilePort { 117 | port = ":8000" 118 | } else if portType == ToolkitPort { 119 | port = ":9000" 120 | } 121 | } 122 | 123 | return port 124 | } 125 | -------------------------------------------------------------------------------- /models/node.go: -------------------------------------------------------------------------------- 1 | package models 2 | 3 | import ( 4 | "encoding/json" 5 | "fmt" 6 | "io/ioutil" 7 | "os" 8 | "sync" 9 | ) 10 | 11 | var ( 12 | mux sync.Mutex 13 | ) 14 | 15 | type NodeList struct { 16 | Nodes []Node `json:"nodes"` 17 | } 18 | 19 | type Node struct { 20 | ID string `json:"id"` 21 | Name string `json:"name"` 22 | IP string `json:"ip"` 23 | Port int `json:"port"` 24 | Password string `json:"password"` 25 | CreatedAt string `json:"createdAt"` 26 | Status int `json:"status"` // 0:待部署, 1:部署中, 2:已部署成功, 3:无法连接, 4:部署失败 27 | Comment string `json:"comment"` 28 | } 29 | 30 | func (n *NodeList) Remove(index int) []Node { 31 | newNodes := []Node{} 32 | newNodes = append(n.Nodes[:index], n.Nodes[index+1:]...) 33 | 34 | return newNodes 35 | } 36 | 37 | func (n *NodeList) UpdateNodeStatus(id, comment string, status int) { 38 | mux.Lock() 39 | defer mux.Unlock() 40 | 41 | //Update node list 42 | for i := 0; i < len(n.Nodes); i++ { 43 | if n.Nodes[i].ID == id { 44 | n.Nodes[i].Comment = comment 45 | n.Nodes[i].Status = status 46 | break 47 | } 48 | } 49 | 50 | //Serialize nodes 51 | if err := n.Serialize(); err != nil { 52 | fmt.Println("Serialize:", err.Error()) 53 | } 54 | } 55 | 56 | func (n *NodeList) Serialize() error { 57 | bytes, err := json.Marshal(n) 58 | 59 | if err != nil { 60 | fmt.Println(err.Error()) 61 | return err 62 | } 63 | 64 | ioutil.WriteFile("./.nodes", bytes, os.FileMode(0644)) 65 | return nil 66 | } 67 | 68 | func (nl *NodeList) Deserialize() error { 69 | raw, err := ioutil.ReadFile("./.nodes") 70 | 71 | if err != nil { 72 | fmt.Println(err.Error()) 73 | return err 74 | } 75 | 76 | json.Unmarshal(raw, nl) 77 | return nil 78 | } 79 | -------------------------------------------------------------------------------- /models/response.go: -------------------------------------------------------------------------------- 1 | package models 2 | 3 | //Response struct for http response 4 | type Response struct { 5 | Success bool `json:"success"` 6 | Message string `json:"message"` 7 | Data interface{} `json:"data"` 8 | } 9 | -------------------------------------------------------------------------------- /server.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | nohup ./kubekit s & 3 | -------------------------------------------------------------------------------- /shells/v1.7.2/docker.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Docker offline install script. 4 | # Installed & verified by CentOS Linux release 7.3.1611 (Core) 5 | # Docker version 1.12.6 6 | 7 | set -x 8 | set -e 9 | 10 | HTTP_SERVER="" 11 | 12 | root=$(id -u) 13 | if [ "$root" -ne 0 ] ;then 14 | echo must run as root 15 | exit 1 16 | fi 17 | 18 | kube::install_docker() 19 | { 20 | echo "KUBEKIT_OUTPUT (1/2) Start to install docker..." 21 | set +e 22 | 23 | # Install docker-compose 24 | which docker-compose > /dev/null 2>&1 25 | i=$? 26 | set -e 27 | if [ $i -ne 0 ]; then 28 | curl -L http://$HTTP_SERVER/rpms/docker-compose.tar.gz > /tmp/docker-compose.tar.gz 29 | cd /tmp && tar zxvf docker-compose.tar.gz 30 | chmod +x docker-compose 31 | mv docker-compose /usr/local/bin/docker-compose 32 | fi 33 | 34 | # Install docker engine 35 | set +e 36 | which docker > /dev/null 2>&1 37 | j=$? 38 | set -e 39 | if [ $j -ne 0 ]; then 40 | curl -L http://$HTTP_SERVER/rpms/docker.tar.gz > /tmp/docker.tar.gz 41 | tar zxf /tmp/docker.tar.gz -C /tmp 42 | yum localinstall -y /tmp/docker/*.rpm 43 | echo "KUBEKIT_OUTPUT (2/2) Start to config docker..." 44 | kube::config_docker 45 | systemctl enable docker.service && systemctl start docker.service 46 | 47 | # Modify them after docker is started 48 | echo 1 > /proc/sys/net/bridge/bridge-nf-call-iptables 49 | echo 1 > /proc/sys/net/bridge/bridge-nf-call-ip6tables 50 | fi 51 | 52 | echo docker has been installed! 53 | docker version 54 | rm -rf /tmp/docker /tmp/docker.tar.gz 55 | } 56 | 57 | kube::config_docker() 58 | { 59 | setenforce 0 60 | sed -i -e 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux 61 | 62 | set +e 63 | which firewalld 64 | j=$? 65 | set -e 66 | 67 | if [ $j -eq 0 ]; then 68 | systemctl disable firewalld 69 | systemctl stop firewalld 70 | fi 71 | 72 | echo DOCKER_STORAGE_OPTIONS=\" -s overlay --selinux-enabled=false\" > /etc/sysconfig/docker-storage 73 | } 74 | 75 | main() 76 | { 77 | HTTP_SERVER=$1 78 | 79 | kube::install_docker 80 | } 81 | 82 | main $@ 83 | -------------------------------------------------------------------------------- /shells/v1.8.1/docker.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Docker offline install script. 4 | # Installed & verified by CentOS Linux release 7.4.1708 (Core) 5 | # Docker version 1.12.6 6 | 7 | set -x 8 | set -e 9 | 10 | HTTP_SERVER="" 11 | 12 | root=$(id -u) 13 | if [ "$root" -ne 0 ] ;then 14 | echo must run as root 15 | exit 1 16 | fi 17 | 18 | kube::install_docker() 19 | { 20 | echo "KUBEKIT_OUTPUT (1/2) Start to install docker..." 21 | set +e 22 | 23 | # Install docker-compose 24 | which docker-compose > /dev/null 2>&1 25 | i=$? 26 | set -e 27 | if [ $i -ne 0 ]; then 28 | curl -L http://$HTTP_SERVER/rpms/docker-compose.tar.gz > /tmp/docker-compose.tar.gz 29 | cd /tmp && tar zxvf docker-compose.tar.gz 30 | chmod +x docker-compose 31 | mv docker-compose /usr/local/bin/docker-compose 32 | fi 33 | 34 | # Install docker engine 35 | set +e 36 | which docker > /dev/null 2>&1 37 | j=$? 38 | set -e 39 | if [ $j -ne 0 ]; then 40 | curl -L http://$HTTP_SERVER/rpms/docker.tar.gz > /tmp/docker.tar.gz 41 | tar zxf /tmp/docker.tar.gz -C /tmp 42 | yum localinstall -y /tmp/docker/*.rpm 43 | echo "KUBEKIT_OUTPUT (2/2) Start to config docker..." 44 | kube::config_docker 45 | systemctl enable docker.service && systemctl start docker.service 46 | 47 | # Modify them after docker is started 48 | echo 1 > /proc/sys/net/bridge/bridge-nf-call-iptables 49 | echo 1 > /proc/sys/net/bridge/bridge-nf-call-ip6tables 50 | fi 51 | 52 | echo docker has been installed! 53 | docker version 54 | rm -rf /tmp/docker /tmp/docker.tar.gz 55 | } 56 | 57 | kube::config_docker() 58 | { 59 | setenforce 0 60 | sed -i -e 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux 61 | 62 | set +e 63 | which firewalld 64 | j=$? 65 | set -e 66 | 67 | if [ $j -eq 0 ]; then 68 | systemctl disable firewalld 69 | systemctl stop firewalld 70 | fi 71 | 72 | echo DOCKER_STORAGE_OPTIONS=\" -s overlay --selinux-enabled=false\" > /etc/sysconfig/docker-storage 73 | } 74 | 75 | main() 76 | { 77 | HTTP_SERVER=$1 78 | 79 | kube::install_docker 80 | } 81 | 82 | main $@ 83 | -------------------------------------------------------------------------------- /shells/v1.9.2/docker.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Docker offline install script. 4 | # Installed & verified by CentOS Linux release 7.4.1708 (Core) 5 | # Docker version 1.12.6 6 | 7 | set -x 8 | set -e 9 | 10 | HTTP_SERVER="" 11 | 12 | root=$(id -u) 13 | if [ "$root" -ne 0 ] ;then 14 | echo must run as root 15 | exit 1 16 | fi 17 | 18 | kube::install_docker() 19 | { 20 | echo "KUBEKIT_OUTPUT (1/2) Start to install docker..." 21 | set +e 22 | 23 | # Install docker-compose 24 | which docker-compose > /dev/null 2>&1 25 | i=$? 26 | set -e 27 | if [ $i -ne 0 ]; then 28 | curl -L http://$HTTP_SERVER/rpms/docker-compose.tar.gz > /tmp/docker-compose.tar.gz 29 | cd /tmp && tar zxvf docker-compose.tar.gz 30 | chmod +x docker-compose 31 | mv docker-compose /usr/local/bin/docker-compose 32 | fi 33 | 34 | # Install docker engine 35 | set +e 36 | which docker > /dev/null 2>&1 37 | j=$? 38 | set -e 39 | if [ $j -ne 0 ]; then 40 | curl -L http://$HTTP_SERVER/rpms/docker.tar.gz > /tmp/docker.tar.gz 41 | tar zxf /tmp/docker.tar.gz -C /tmp 42 | yum localinstall -y /tmp/docker/*.rpm 43 | echo "KUBEKIT_OUTPUT (2/2) Start to config docker..." 44 | kube::config_docker 45 | systemctl enable docker.service && systemctl start docker.service 46 | 47 | # Modify them after docker is started 48 | echo 1 > /proc/sys/net/bridge/bridge-nf-call-iptables 49 | echo 1 > /proc/sys/net/bridge/bridge-nf-call-ip6tables 50 | fi 51 | 52 | echo docker has been installed! 53 | docker version 54 | rm -rf /tmp/docker /tmp/docker.tar.gz 55 | } 56 | 57 | kube::config_docker() 58 | { 59 | setenforce 0 60 | sed -i -e 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux 61 | 62 | set +e 63 | which firewalld 64 | j=$? 65 | 66 | if [ $j -eq 0 ]; then 67 | systemctl disable firewalld 68 | systemctl stop firewalld 69 | fi 70 | 71 | echo DOCKER_STORAGE_OPTIONS=\" -s overlay --selinux-enabled=false\" > /etc/sysconfig/docker-storage 72 | set -e 73 | } 74 | 75 | main() 76 | { 77 | HTTP_SERVER=$1 78 | 79 | kube::install_docker 80 | } 81 | 82 | main $@ 83 | -------------------------------------------------------------------------------- /snapshots/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orientsoft/kubekit/3b2578afe2d38034fb8297b2907090de26fcf7df/snapshots/1.png -------------------------------------------------------------------------------- /snapshots/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orientsoft/kubekit/3b2578afe2d38034fb8297b2907090de26fcf7df/snapshots/2.png -------------------------------------------------------------------------------- /snapshots/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orientsoft/kubekit/3b2578afe2d38034fb8297b2907090de26fcf7df/snapshots/3.png -------------------------------------------------------------------------------- /snapshots/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orientsoft/kubekit/3b2578afe2d38034fb8297b2907090de26fcf7df/snapshots/4.png -------------------------------------------------------------------------------- /snapshots/5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orientsoft/kubekit/3b2578afe2d38034fb8297b2907090de26fcf7df/snapshots/5.png -------------------------------------------------------------------------------- /snapshots/6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orientsoft/kubekit/3b2578afe2d38034fb8297b2907090de26fcf7df/snapshots/6.png -------------------------------------------------------------------------------- /templates/locale.html: -------------------------------------------------------------------------------- 1 | 38 | -------------------------------------------------------------------------------- /utils/logo.go: -------------------------------------------------------------------------------- 1 | package utils 2 | 3 | import "github.com/fatih/color" 4 | 5 | var ( 6 | logo = ` 7 | ___ __ ___ ___ ________ _______ ___ __ ___ _________ 8 | |\ \|\ \ |\ \|\ \ |\ __ \ |\ ___ \ |\ \|\ \ |\ \ |\___ ___\ 9 | \ \ \/ /|_ \ \ \\\ \ \ \ \|\ /_ \ \ __/| \ \ \/ /|_ \ \ \ \|___ \ \_| 10 | \ \ ___ \ \ \ \\\ \ \ \ __ \ \ \ \_|/__ \ \ ___ \ \ \ \ \ \ \ 11 | \ \ \\ \ \ \ \ \\\ \ \ \ \|\ \ \ \ \_|\ \ \ \ \\ \ \ \ \ \ \ \ \ 12 | \ \__\\ \__\ \ \_______\ \ \_______\ \ \_______\ \ \__\\ \__\ \ \__\ \ \__\ 13 | \|__| \|__| \|_______| \|_______| \|_______| \|__| \|__| \|__| \|__| 14 | 15 | 16 | KubeKit V%s ⓒ OrientSoft 2018 17 | 18 | ` 19 | 20 | CheckSymbol = "\u2714 " 21 | CrossSymbol = "\u2716 " 22 | ) 23 | 24 | func DisplayLogo(version string) { 25 | color.Green(logo, version) 26 | } 27 | -------------------------------------------------------------------------------- /utils/ssh.go: -------------------------------------------------------------------------------- 1 | package utils 2 | 3 | import ( 4 | "fmt" 5 | "io/ioutil" 6 | "net" 7 | "os" 8 | "time" 9 | 10 | "github.com/Orientsoft/kubekit/models" 11 | 12 | "golang.org/x/crypto/ssh" 13 | ) 14 | 15 | func GetInstallLog(node *models.Node) string { 16 | session, err := Connect("root", node.Password, node.IP, node.Port) 17 | 18 | if err != nil { 19 | fmt.Println("err:", err.Error()) 20 | fmt.Println("Cannot connect node:", node.IP) 21 | } 22 | 23 | defer session.Close() 24 | pipe, err := session.StdoutPipe() 25 | 26 | if err != nil { 27 | return err.Error() 28 | } 29 | 30 | session.Run("cat /root/install.log") 31 | buff, err := ioutil.ReadAll(pipe) 32 | 33 | if err != nil { 34 | return err.Error() 35 | } 36 | 37 | return string(buff) 38 | } 39 | 40 | func ExecuteCmd(node *models.Node, cmd string) { 41 | session, err := Connect("root", node.Password, node.IP, node.Port) 42 | 43 | if err != nil { 44 | fmt.Println("err:", err.Error()) 45 | fmt.Println("Cannot connect node:", node.IP) 46 | } 47 | 48 | defer session.Close() 49 | session.Stderr = os.Stderr 50 | session.Stdout = os.Stdout 51 | 52 | fmt.Println("GOROUTINE:", cmd) 53 | session.Run(cmd) 54 | //session.Run("curl -L http://192.168.0.80:8000/test.sh | bash -s master>install.log 2>&1 &") 55 | } 56 | 57 | func Connect(user, password, host string, port int) (*ssh.Session, error) { 58 | var ( 59 | auth []ssh.AuthMethod 60 | addr string 61 | clientConfig *ssh.ClientConfig 62 | client *ssh.Client 63 | session *ssh.Session 64 | err error 65 | ) 66 | // get auth method 67 | auth = make([]ssh.AuthMethod, 0) 68 | auth = append(auth, ssh.Password(password)) 69 | 70 | clientConfig = &ssh.ClientConfig{ 71 | User: user, 72 | Auth: auth, 73 | Timeout: 30 * time.Second, 74 | HostKeyCallback: func(hostname string, remote net.Addr, key ssh.PublicKey) error { 75 | return nil 76 | }, 77 | } 78 | 79 | // connet to ssh 80 | addr = fmt.Sprintf("%s:%d", host, port) 81 | 82 | if client, err = ssh.Dial("tcp", addr, clientConfig); err != nil { 83 | return nil, err 84 | } 85 | 86 | // create session 87 | if session, err = client.NewSession(); err != nil { 88 | return nil, err 89 | } 90 | 91 | return session, nil 92 | } 93 | -------------------------------------------------------------------------------- /utils/uuid.go: -------------------------------------------------------------------------------- 1 | package utils 2 | 3 | import ( 4 | "crypto/rand" 5 | "io" 6 | ) 7 | 8 | var StdChars = []byte("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") 9 | 10 | func GenerateUUID(length int) string { 11 | return rand_char(length, StdChars) 12 | } 13 | 14 | func rand_char(length int, chars []byte) string { 15 | new_pword := make([]byte, length) 16 | random_data := make([]byte, length+(length/4)) // storage for random bytes. 17 | clen := byte(len(chars)) 18 | maxrb := byte(256 - (256 % len(chars))) 19 | i := 0 20 | for { 21 | if _, err := io.ReadFull(rand.Reader, random_data); err != nil { 22 | panic(err) 23 | } 24 | for _, c := range random_data { 25 | if c >= maxrb { 26 | continue 27 | } 28 | new_pword[i] = chars[c%clen] 29 | i++ 30 | if i == length { 31 | return string(new_pword) 32 | } 33 | } 34 | } 35 | panic("unreachable") 36 | } 37 | --------------------------------------------------------------------------------