twigg-app 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/data/quips.yml +45 -0
- data/lib/twigg-app/app/quips.rb +13 -0
- data/lib/twigg-app/app/routes.rb +43 -0
- data/lib/twigg-app/app/server.rb +146 -0
- data/lib/twigg-app/app/version.rb +5 -0
- data/lib/twigg-app/app.rb +14 -0
- data/lib/twigg-app.rb +5 -0
- data/public/application.js +106 -0
- data/public/favicon.ico +0 -0
- data/public/favicon.png +0 -0
- data/public/vendor/bootstrap/CNAME +1 -0
- data/public/vendor/bootstrap/CONTRIBUTING.md +66 -0
- data/public/vendor/bootstrap/Gruntfile.js +195 -0
- data/public/vendor/bootstrap/LICENSE +176 -0
- data/public/vendor/bootstrap/README.md +139 -0
- data/public/vendor/bootstrap/_config.yml +28 -0
- data/public/vendor/bootstrap/_includes/ads.html +1 -0
- data/public/vendor/bootstrap/_includes/footer.html +33 -0
- data/public/vendor/bootstrap/_includes/header.html +43 -0
- data/public/vendor/bootstrap/_includes/nav-components.html +135 -0
- data/public/vendor/bootstrap/_includes/nav-css.html +77 -0
- data/public/vendor/bootstrap/_includes/nav-customize.html +40 -0
- data/public/vendor/bootstrap/_includes/nav-getting-started.html +28 -0
- data/public/vendor/bootstrap/_includes/nav-javascript.html +88 -0
- data/public/vendor/bootstrap/_includes/nav-main.html +32 -0
- data/public/vendor/bootstrap/_includes/old-bs-docs.html +8 -0
- data/public/vendor/bootstrap/_includes/social-buttons.html +16 -0
- data/public/vendor/bootstrap/_layouts/customize.html +52 -0
- data/public/vendor/bootstrap/_layouts/default.html +72 -0
- data/public/vendor/bootstrap/_layouts/home.html +43 -0
- data/public/vendor/bootstrap/assets/css/docs.css +896 -0
- data/public/vendor/bootstrap/assets/css/pygments-manni.css +66 -0
- data/public/vendor/bootstrap/assets/ico/apple-touch-icon-114-precomposed.png +0 -0
- data/public/vendor/bootstrap/assets/ico/apple-touch-icon-144-precomposed.png +0 -0
- data/public/vendor/bootstrap/assets/ico/apple-touch-icon-57-precomposed.png +0 -0
- data/public/vendor/bootstrap/assets/ico/apple-touch-icon-72-precomposed.png +0 -0
- data/public/vendor/bootstrap/assets/ico/favicon.png +0 -0
- data/public/vendor/bootstrap/assets/js/application.js +82 -0
- data/public/vendor/bootstrap/assets/js/customizer.js +175 -0
- data/public/vendor/bootstrap/assets/js/holder.js +419 -0
- data/public/vendor/bootstrap/assets/js/html5shiv.js +8 -0
- data/public/vendor/bootstrap/assets/js/jquery.bbq.min.js +1287 -0
- data/public/vendor/bootstrap/assets/js/jquery.js +5 -0
- data/public/vendor/bootstrap/assets/js/jszip.js +1425 -0
- data/public/vendor/bootstrap/assets/js/less.js +9 -0
- data/public/vendor/bootstrap/assets/js/respond.min.js +6 -0
- data/public/vendor/bootstrap/assets/js/uglify.js +14 -0
- data/public/vendor/bootstrap/bower.json +11 -0
- data/public/vendor/bootstrap/browserstack.json +37 -0
- data/public/vendor/bootstrap/components.html +2555 -0
- data/public/vendor/bootstrap/composer.json +20 -0
- data/public/vendor/bootstrap/css.html +2276 -0
- data/public/vendor/bootstrap/customize.html +1480 -0
- data/public/vendor/bootstrap/dist/css/bootstrap.css +5579 -0
- data/public/vendor/bootstrap/dist/css/bootstrap.min.css +9 -0
- data/public/vendor/bootstrap/dist/js/bootstrap.js +1993 -0
- data/public/vendor/bootstrap/dist/js/bootstrap.min.js +6 -0
- data/public/vendor/bootstrap/getting-started.html +375 -0
- data/public/vendor/bootstrap/index.html +16 -0
- data/public/vendor/bootstrap/javascript.html +1904 -0
- data/public/vendor/bootstrap/js/affix.js +126 -0
- data/public/vendor/bootstrap/js/alert.js +98 -0
- data/public/vendor/bootstrap/js/button.js +109 -0
- data/public/vendor/bootstrap/js/carousel.js +217 -0
- data/public/vendor/bootstrap/js/collapse.js +179 -0
- data/public/vendor/bootstrap/js/dropdown.js +154 -0
- data/public/vendor/bootstrap/js/modal.js +244 -0
- data/public/vendor/bootstrap/js/popover.js +117 -0
- data/public/vendor/bootstrap/js/scrollspy.js +158 -0
- data/public/vendor/bootstrap/js/tab.js +135 -0
- data/public/vendor/bootstrap/js/tests/index.html +52 -0
- data/public/vendor/bootstrap/js/tests/phantom.js +63 -0
- data/public/vendor/bootstrap/js/tests/server.js +14 -0
- data/public/vendor/bootstrap/js/tests/unit/affix.js +25 -0
- data/public/vendor/bootstrap/js/tests/unit/alert.js +62 -0
- data/public/vendor/bootstrap/js/tests/unit/button.js +116 -0
- data/public/vendor/bootstrap/js/tests/unit/carousel.js +87 -0
- data/public/vendor/bootstrap/js/tests/unit/collapse.js +164 -0
- data/public/vendor/bootstrap/js/tests/unit/dropdown.js +219 -0
- data/public/vendor/bootstrap/js/tests/unit/modal.js +177 -0
- data/public/vendor/bootstrap/js/tests/unit/phantom.js +69 -0
- data/public/vendor/bootstrap/js/tests/unit/popover.js +133 -0
- data/public/vendor/bootstrap/js/tests/unit/scrollspy.js +37 -0
- data/public/vendor/bootstrap/js/tests/unit/tab.js +86 -0
- data/public/vendor/bootstrap/js/tests/unit/tooltip.js +437 -0
- data/public/vendor/bootstrap/js/tests/unit/transition.js +13 -0
- data/public/vendor/bootstrap/js/tests/vendor/jquery.js +5 -0
- data/public/vendor/bootstrap/js/tests/vendor/qunit.css +232 -0
- data/public/vendor/bootstrap/js/tests/vendor/qunit.js +1510 -0
- data/public/vendor/bootstrap/js/tooltip.js +382 -0
- data/public/vendor/bootstrap/js/transition.js +56 -0
- data/public/vendor/bootstrap/less/alerts.less +71 -0
- data/public/vendor/bootstrap/less/badges.less +51 -0
- data/public/vendor/bootstrap/less/bootstrap.less +63 -0
- data/public/vendor/bootstrap/less/breadcrumbs.less +23 -0
- data/public/vendor/bootstrap/less/button-groups.less +244 -0
- data/public/vendor/bootstrap/less/buttons.less +159 -0
- data/public/vendor/bootstrap/less/carousel.less +204 -0
- data/public/vendor/bootstrap/less/close.less +33 -0
- data/public/vendor/bootstrap/less/code.less +56 -0
- data/public/vendor/bootstrap/less/component-animations.less +29 -0
- data/public/vendor/bootstrap/less/dropdowns.less +176 -0
- data/public/vendor/bootstrap/less/forms.less +332 -0
- data/public/vendor/bootstrap/less/grid.less +340 -0
- data/public/vendor/bootstrap/less/input-groups.less +127 -0
- data/public/vendor/bootstrap/less/jumbotron.less +29 -0
- data/public/vendor/bootstrap/less/labels.less +54 -0
- data/public/vendor/bootstrap/less/list-group.less +88 -0
- data/public/vendor/bootstrap/less/media.less +56 -0
- data/public/vendor/bootstrap/less/mixins.less +693 -0
- data/public/vendor/bootstrap/less/modals.less +133 -0
- data/public/vendor/bootstrap/less/navbar.less +559 -0
- data/public/vendor/bootstrap/less/navs.less +228 -0
- data/public/vendor/bootstrap/less/normalize.less +396 -0
- data/public/vendor/bootstrap/less/pager.less +55 -0
- data/public/vendor/bootstrap/less/pagination.less +72 -0
- data/public/vendor/bootstrap/less/panels.less +128 -0
- data/public/vendor/bootstrap/less/popovers.less +133 -0
- data/public/vendor/bootstrap/less/print.less +100 -0
- data/public/vendor/bootstrap/less/progress-bars.less +99 -0
- data/public/vendor/bootstrap/less/responsive-utilities.less +149 -0
- data/public/vendor/bootstrap/less/scaffolding.less +111 -0
- data/public/vendor/bootstrap/less/tables.less +211 -0
- data/public/vendor/bootstrap/less/thumbnails.less +42 -0
- data/public/vendor/bootstrap/less/tooltip.less +95 -0
- data/public/vendor/bootstrap/less/type.less +238 -0
- data/public/vendor/bootstrap/less/utilities.less +42 -0
- data/public/vendor/bootstrap/less/variables.less +607 -0
- data/public/vendor/bootstrap/less/wells.less +29 -0
- data/public/vendor/bootstrap/package.json +33 -0
- data/public/vendor/bootstrap-glyphicons/CHANGELOG.md +3 -0
- data/public/vendor/bootstrap-glyphicons/CNAME +1 -0
- data/public/vendor/bootstrap-glyphicons/CONTRIBUTING.md +54 -0
- data/public/vendor/bootstrap-glyphicons/LICENSE +19 -0
- data/public/vendor/bootstrap-glyphicons/README.md +61 -0
- data/public/vendor/bootstrap-glyphicons/_config.yml +12 -0
- data/public/vendor/bootstrap-glyphicons/composer.json +9 -0
- data/public/vendor/bootstrap-glyphicons/css/bootstrap-glyphicons.css +2 -0
- data/public/vendor/bootstrap-glyphicons/css/bootstrap.css +9 -0
- data/public/vendor/bootstrap-glyphicons/css/docs.css +160 -0
- data/public/vendor/bootstrap-glyphicons/fonts/glyphiconshalflings-regular.eot +0 -0
- data/public/vendor/bootstrap-glyphicons/fonts/glyphiconshalflings-regular.otf +0 -0
- data/public/vendor/bootstrap-glyphicons/fonts/glyphiconshalflings-regular.svg +175 -0
- data/public/vendor/bootstrap-glyphicons/fonts/glyphiconshalflings-regular.ttf +0 -0
- data/public/vendor/bootstrap-glyphicons/fonts/glyphiconshalflings-regular.woff +0 -0
- data/public/vendor/bootstrap-glyphicons/index.html +255 -0
- data/public/vendor/bootstrap-glyphicons/less/bootstrap-glyphicons.less +201 -0
- data/public/vendor/bootstrap-glyphicons/package.json +18 -0
- data/public/vendor/d3/LICENSE +26 -0
- data/public/vendor/d3/README.md +7 -0
- data/public/vendor/d3/bower.json +25 -0
- data/public/vendor/d3/d3.js +8810 -0
- data/public/vendor/d3/d3.min.js +5 -0
- data/public/vendor/jquery/README.md +11 -0
- data/public/vendor/jquery/bower.json +11 -0
- data/public/vendor/jquery/component.json +15 -0
- data/public/vendor/jquery/composer.json +35 -0
- data/public/vendor/jquery/jquery-migrate.js +511 -0
- data/public/vendor/jquery/jquery-migrate.min.js +3 -0
- data/public/vendor/jquery/jquery.js +8829 -0
- data/public/vendor/jquery/jquery.min.js +6 -0
- data/public/vendor/jquery/jquery.min.map +1 -0
- data/public/vendor/jquery/package.json +7 -0
- data/public/vendor/replacejs/CHANGELOG.md +3 -0
- data/public/vendor/replacejs/MIT-LICENSE.txt +20 -0
- data/public/vendor/replacejs/README.md +123 -0
- data/public/vendor/replacejs/bower.json +24 -0
- data/public/vendor/replacejs/primer.js +17 -0
- data/public/vendor/replacejs/primer.min.js +1 -0
- data/public/vendor/replacejs/replace.js +182 -0
- data/public/vendor/stupidtable.js +158 -0
- data/views/dashboard.haml +17 -0
- data/views/layout.haml +60 -0
- metadata +330 -0
@@ -0,0 +1,66 @@
|
|
1
|
+
.hll { background-color: #ffffcc }
|
2
|
+
/*{ background: #f0f3f3; }*/
|
3
|
+
.c { color: #999; } /* Comment */
|
4
|
+
.err { color: #AA0000; background-color: #FFAAAA } /* Error */
|
5
|
+
.k { color: #006699; } /* Keyword */
|
6
|
+
.o { color: #555555 } /* Operator */
|
7
|
+
.cm { color: #0099FF; font-style: italic } /* Comment.Multiline */
|
8
|
+
.cp { color: #009999 } /* Comment.Preproc */
|
9
|
+
.c1 { color: #999; } /* Comment.Single */
|
10
|
+
.cs { color: #999; } /* Comment.Special */
|
11
|
+
.gd { background-color: #FFCCCC; border: 1px solid #CC0000 } /* Generic.Deleted */
|
12
|
+
.ge { font-style: italic } /* Generic.Emph */
|
13
|
+
.gr { color: #FF0000 } /* Generic.Error */
|
14
|
+
.gh { color: #003300; } /* Generic.Heading */
|
15
|
+
.gi { background-color: #CCFFCC; border: 1px solid #00CC00 } /* Generic.Inserted */
|
16
|
+
.go { color: #AAAAAA } /* Generic.Output */
|
17
|
+
.gp { color: #000099; } /* Generic.Prompt */
|
18
|
+
.gs { } /* Generic.Strong */
|
19
|
+
.gu { color: #003300; } /* Generic.Subheading */
|
20
|
+
.gt { color: #99CC66 } /* Generic.Traceback */
|
21
|
+
.kc { color: #006699; } /* Keyword.Constant */
|
22
|
+
.kd { color: #006699; } /* Keyword.Declaration */
|
23
|
+
.kn { color: #006699; } /* Keyword.Namespace */
|
24
|
+
.kp { color: #006699 } /* Keyword.Pseudo */
|
25
|
+
.kr { color: #006699; } /* Keyword.Reserved */
|
26
|
+
.kt { color: #007788; } /* Keyword.Type */
|
27
|
+
.m { color: #FF6600 } /* Literal.Number */
|
28
|
+
.s { color: #d44950 } /* Literal.String */
|
29
|
+
.na { color: #4f9fcf } /* Name.Attribute */
|
30
|
+
.nb { color: #336666 } /* Name.Builtin */
|
31
|
+
.nc { color: #00AA88; } /* Name.Class */
|
32
|
+
.no { color: #336600 } /* Name.Constant */
|
33
|
+
.nd { color: #9999FF } /* Name.Decorator */
|
34
|
+
.ni { color: #999999; } /* Name.Entity */
|
35
|
+
.ne { color: #CC0000; } /* Name.Exception */
|
36
|
+
.nf { color: #CC00FF } /* Name.Function */
|
37
|
+
.nl { color: #9999FF } /* Name.Label */
|
38
|
+
.nn { color: #00CCFF; } /* Name.Namespace */
|
39
|
+
.nt { color: #2f6f9f; } /* Name.Tag */
|
40
|
+
.nv { color: #003333 } /* Name.Variable */
|
41
|
+
.ow { color: #000000; } /* Operator.Word */
|
42
|
+
.w { color: #bbbbbb } /* Text.Whitespace */
|
43
|
+
.mf { color: #FF6600 } /* Literal.Number.Float */
|
44
|
+
.mh { color: #FF6600 } /* Literal.Number.Hex */
|
45
|
+
.mi { color: #FF6600 } /* Literal.Number.Integer */
|
46
|
+
.mo { color: #FF6600 } /* Literal.Number.Oct */
|
47
|
+
.sb { color: #CC3300 } /* Literal.String.Backtick */
|
48
|
+
.sc { color: #CC3300 } /* Literal.String.Char */
|
49
|
+
.sd { color: #CC3300; font-style: italic } /* Literal.String.Doc */
|
50
|
+
.s2 { color: #CC3300 } /* Literal.String.Double */
|
51
|
+
.se { color: #CC3300; } /* Literal.String.Escape */
|
52
|
+
.sh { color: #CC3300 } /* Literal.String.Heredoc */
|
53
|
+
.si { color: #AA0000 } /* Literal.String.Interpol */
|
54
|
+
.sx { color: #CC3300 } /* Literal.String.Other */
|
55
|
+
.sr { color: #33AAAA } /* Literal.String.Regex */
|
56
|
+
.s1 { color: #CC3300 } /* Literal.String.Single */
|
57
|
+
.ss { color: #FFCC33 } /* Literal.String.Symbol */
|
58
|
+
.bp { color: #336666 } /* Name.Builtin.Pseudo */
|
59
|
+
.vc { color: #003333 } /* Name.Variable.Class */
|
60
|
+
.vg { color: #003333 } /* Name.Variable.Global */
|
61
|
+
.vi { color: #003333 } /* Name.Variable.Instance */
|
62
|
+
.il { color: #FF6600 } /* Literal.Number.Integer.Long */
|
63
|
+
|
64
|
+
.css .o,
|
65
|
+
.css .o + .nt,
|
66
|
+
.css .nt + .nt { color: #999; }
|
Binary file
|
@@ -0,0 +1,82 @@
|
|
1
|
+
// NOTICE!! DO NOT USE ANY OF THIS JAVASCRIPT
|
2
|
+
// IT'S ALL JUST JUNK FOR OUR DOCS!
|
3
|
+
// ++++++++++++++++++++++++++++++++++++++++++
|
4
|
+
|
5
|
+
!function ($) {
|
6
|
+
|
7
|
+
$(function(){
|
8
|
+
|
9
|
+
var $window = $(window)
|
10
|
+
var $body = $(document.body)
|
11
|
+
|
12
|
+
var navHeight = $('.navbar').outerHeight(true) + 10
|
13
|
+
|
14
|
+
$body.scrollspy({
|
15
|
+
target: '.bs-sidebar',
|
16
|
+
offset: navHeight
|
17
|
+
})
|
18
|
+
|
19
|
+
$window.on('load', function () {
|
20
|
+
$body.scrollspy('refresh')
|
21
|
+
})
|
22
|
+
|
23
|
+
$('.bs-docs-container [href=#]').click(function (e) {
|
24
|
+
e.preventDefault()
|
25
|
+
})
|
26
|
+
|
27
|
+
// back to top
|
28
|
+
setTimeout(function () {
|
29
|
+
var $sideBar = $('.bs-sidebar')
|
30
|
+
|
31
|
+
$sideBar.affix({
|
32
|
+
offset: {
|
33
|
+
top: function () {
|
34
|
+
var offsetTop = $sideBar.offset().top
|
35
|
+
var sideBarMargin = parseInt($sideBar.children(0).css('margin-top'), 10)
|
36
|
+
var navOuterHeight = $('.bs-docs-nav').height()
|
37
|
+
|
38
|
+
return (this.top = offsetTop - navOuterHeight - sideBarMargin)
|
39
|
+
}
|
40
|
+
, bottom: function () {
|
41
|
+
return (this.bottom = $('.bs-footer').outerHeight(true))
|
42
|
+
}
|
43
|
+
}
|
44
|
+
})
|
45
|
+
}, 100)
|
46
|
+
|
47
|
+
setTimeout(function () {
|
48
|
+
$('.bs-top').affix()
|
49
|
+
}, 100)
|
50
|
+
|
51
|
+
// tooltip demo
|
52
|
+
$('.tooltip-demo').tooltip({
|
53
|
+
selector: "[data-toggle=tooltip]"
|
54
|
+
})
|
55
|
+
|
56
|
+
$('.tooltip-test').tooltip()
|
57
|
+
$('.popover-test').popover()
|
58
|
+
|
59
|
+
$('.bs-docs-navbar').tooltip({
|
60
|
+
selector: "a[data-toggle=tooltip]",
|
61
|
+
container: ".bs-docs-navbar .nav"
|
62
|
+
})
|
63
|
+
|
64
|
+
// popover demo
|
65
|
+
$("[data-toggle=popover]")
|
66
|
+
.popover()
|
67
|
+
|
68
|
+
// button state demo
|
69
|
+
$('#fat-btn')
|
70
|
+
.click(function () {
|
71
|
+
var btn = $(this)
|
72
|
+
btn.button('loading')
|
73
|
+
setTimeout(function () {
|
74
|
+
btn.button('reset')
|
75
|
+
}, 3000)
|
76
|
+
})
|
77
|
+
|
78
|
+
// carousel demo
|
79
|
+
$('.bs-docs-carousel-example').carousel()
|
80
|
+
})
|
81
|
+
|
82
|
+
}(window.jQuery)
|
@@ -0,0 +1,175 @@
|
|
1
|
+
window.onload = function () { // wait for load in a dumb way because B-0
|
2
|
+
var cw = '/*!\n * Bootstrap v3.0.0-rc.2\n *\n * Copyright 2013 Twitter, Inc\n * Licensed under the Apache License v2.0\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Designed and built with all the love in the world @twitter by @mdo and @fat.\n */\n\n'
|
3
|
+
|
4
|
+
function generateUrl() {
|
5
|
+
var vars = {}
|
6
|
+
|
7
|
+
$('#less-variables-section input')
|
8
|
+
.each(function () {
|
9
|
+
$(this).val() && (vars[ $(this).prev().text() ] = $(this).val())
|
10
|
+
})
|
11
|
+
|
12
|
+
var data = {
|
13
|
+
vars: vars,
|
14
|
+
css: $('#less-section input:not(:checked)').map(function () { return this.value }).toArray(),
|
15
|
+
js: $('#plugin-section input:not(:checked)').map(function () { return this.value }).toArray()
|
16
|
+
}
|
17
|
+
|
18
|
+
if ($.isEmptyObject(data.vars) && !data.css.length && !data.js.length) return
|
19
|
+
|
20
|
+
window.location = jQuery.param.querystring('/customize/', data)
|
21
|
+
}
|
22
|
+
|
23
|
+
function parseUrl() {
|
24
|
+
var data = jQuery.deparam.querystring()
|
25
|
+
|
26
|
+
if (data.js) {
|
27
|
+
for (var i = 0; i < data.js.length; i++) {
|
28
|
+
var input = $('input[value="'+data.js[i]+'"]')
|
29
|
+
input && input.prop('checked', false)
|
30
|
+
}
|
31
|
+
}
|
32
|
+
|
33
|
+
if (data.css) {
|
34
|
+
for (var i = 0; i < data.css.length; i++) {
|
35
|
+
var input = $('input[value="'+data.css[i]+'"]')
|
36
|
+
input && input.prop('checked', false)
|
37
|
+
}
|
38
|
+
}
|
39
|
+
|
40
|
+
if (data.vars) {
|
41
|
+
// todo (fat): vars
|
42
|
+
}
|
43
|
+
}
|
44
|
+
|
45
|
+
function generateZip(css, js, complete) {
|
46
|
+
if (!css && !js) return alert('you want to build nothing… o_O')
|
47
|
+
|
48
|
+
var zip = new JSZip()
|
49
|
+
|
50
|
+
if (css) {
|
51
|
+
var cssFolder = zip.folder('css')
|
52
|
+
for (var fileName in css) {
|
53
|
+
cssFolder.file(fileName, css[fileName])
|
54
|
+
}
|
55
|
+
}
|
56
|
+
|
57
|
+
if (js) {
|
58
|
+
var jsFolder = zip.folder('js')
|
59
|
+
for (var fileName in js) {
|
60
|
+
jsFolder.file(fileName, js[fileName])
|
61
|
+
}
|
62
|
+
}
|
63
|
+
|
64
|
+
var content = zip.generate()
|
65
|
+
|
66
|
+
location.href = 'data:application/zip;base64,' + content
|
67
|
+
|
68
|
+
complete()
|
69
|
+
}
|
70
|
+
|
71
|
+
function generateCustomCSS(vars) {
|
72
|
+
var result = ''
|
73
|
+
|
74
|
+
for (var key in vars) {
|
75
|
+
result += key + ': ' + vars[key] + ';\n'
|
76
|
+
}
|
77
|
+
|
78
|
+
return result + '\n\n'
|
79
|
+
}
|
80
|
+
|
81
|
+
function generateCSS() {
|
82
|
+
var $checked = $('#less-section input:checked')
|
83
|
+
|
84
|
+
if (!$checked.length) return false
|
85
|
+
|
86
|
+
var result = {}
|
87
|
+
var vars = {}
|
88
|
+
var css = ''
|
89
|
+
|
90
|
+
$('#less-variables-section input')
|
91
|
+
.each(function () {
|
92
|
+
$(this).val() && (vars[ $(this).prev().text() ] = $(this).val())
|
93
|
+
})
|
94
|
+
|
95
|
+
css += __less['variables.less']
|
96
|
+
if (vars) css += generateCustomCSS(vars)
|
97
|
+
css += __less['mixins.less']
|
98
|
+
css += $checked
|
99
|
+
.map(function () { return __less[this.value] })
|
100
|
+
.toArray()
|
101
|
+
.join('\n')
|
102
|
+
|
103
|
+
css = css.replace(/@import[^\n]*/gi, '') //strip any imports
|
104
|
+
|
105
|
+
try {
|
106
|
+
var parser = new less.Parser({
|
107
|
+
paths: ['variables.less', 'mixins.less']
|
108
|
+
, optimization: 0
|
109
|
+
, filename: 'bootstrap.css'
|
110
|
+
}).parse(css, function (err, tree) {
|
111
|
+
if (err) return alert(err)
|
112
|
+
|
113
|
+
result = {
|
114
|
+
'bootstrap.css' : cw + tree.toCSS(),
|
115
|
+
'bootstrap.min.css' : cw + tree.toCSS({ compress: true })
|
116
|
+
}
|
117
|
+
})
|
118
|
+
} catch (err) {
|
119
|
+
return alert(err)
|
120
|
+
}
|
121
|
+
|
122
|
+
return result
|
123
|
+
}
|
124
|
+
|
125
|
+
function generateJavascript() {
|
126
|
+
var $checked = $('#plugin-section input:checked')
|
127
|
+
if (!$checked.length) return false
|
128
|
+
|
129
|
+
var js = $checked
|
130
|
+
.map(function () { return __js[this.value] })
|
131
|
+
.toArray()
|
132
|
+
.join('\n')
|
133
|
+
|
134
|
+
return {
|
135
|
+
'bootstrap.js': js,
|
136
|
+
'bootstrap.min.js': cw + uglify(js)
|
137
|
+
}
|
138
|
+
}
|
139
|
+
|
140
|
+
var $downloadBtn = $('#btn-download').on('click', function (e) {
|
141
|
+
e.preventDefault()
|
142
|
+
$downloadBtn.addClass('loading')
|
143
|
+
generateZip(generateCSS(), generateJavascript(), function () {
|
144
|
+
$downloadBtn.removeClass('loading')
|
145
|
+
setTimeout(function () {
|
146
|
+
generateUrl()
|
147
|
+
}, 1)
|
148
|
+
})
|
149
|
+
})
|
150
|
+
|
151
|
+
var inputsComponent = $('#less-section input')
|
152
|
+
var inputsPlugin = $('#plugin-section input')
|
153
|
+
var inputsVariables = $('#less-variables-section input')
|
154
|
+
|
155
|
+
$('#less-section .toggle').on('click', function (e) {
|
156
|
+
e.preventDefault()
|
157
|
+
inputsComponent.prop('checked', !inputsComponent.is(':checked'))
|
158
|
+
})
|
159
|
+
|
160
|
+
$('#plugin-section .toggle').on('click', function (e) {
|
161
|
+
e.preventDefault()
|
162
|
+
inputsPlugin.prop('checked', !inputsPlugin.is(':checked'))
|
163
|
+
})
|
164
|
+
|
165
|
+
$('#less-variables-section .toggle').on('click', function (e) {
|
166
|
+
e.preventDefault()
|
167
|
+
inputsVariables.val('')
|
168
|
+
})
|
169
|
+
|
170
|
+
try {
|
171
|
+
parseUrl()
|
172
|
+
} catch (e) {
|
173
|
+
// maybe alert user that we can't parse their url
|
174
|
+
}
|
175
|
+
}
|