##// END OF EJS Templates
add IPython-only CSS...
MinRK -
Show More
@@ -0,0 +1,17 b''
1 // minimal imports from bootstrap - only variables and mixins
2 @import "../components/bootstrap/less/variables.less";
3 @import "../components/bootstrap/less/mixins.less";
4
5 // base
6 @import "../base/less/style.less";
7
8 // auth
9 @import "../auth/less/style.less";
10
11 // tree
12 @import "../tree/less/style.less";
13
14 // notebook
15 @import "../notebook/less/style.less";
16
17
@@ -0,0 +1,210 b''
1 .clearfix{*zoom:1;}.clearfix:before,.clearfix:after{display:table;content:"";line-height:0;}
2 .clearfix:after{clear:both;}
3 .hide-text{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0;}
4 .input-block-level{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;}
5 .border-box-sizing{box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;}
6 .corner-all{border-radius:4px;}
7 .hbox{display:-webkit-box;-webkit-box-orient:horizontal;-webkit-box-align:stretch;display:-moz-box;-moz-box-orient:horizontal;-moz-box-align:stretch;display:box;box-orient:horizontal;box-align:stretch;}
8 .hbox>*{-webkit-box-flex:0;-moz-box-flex:0;box-flex:0;}
9 .vbox{display:-webkit-box;-webkit-box-orient:vertical;-webkit-box-align:stretch;display:-moz-box;-moz-box-orient:vertical;-moz-box-align:stretch;display:box;box-orient:vertical;box-align:stretch;width:100%;}
10 .vbox>*{-webkit-box-flex:0;-moz-box-flex:0;box-flex:0;}
11 .reverse{-webkit-box-direction:reverse;-moz-box-direction:reverse;box-direction:reverse;}
12 .box-flex0{-webkit-box-flex:0;-moz-box-flex:0;box-flex:0;}
13 .box-flex1{-webkit-box-flex:1;-moz-box-flex:1;box-flex:1;}
14 .box-flex{-webkit-box-flex:1;-moz-box-flex:1;box-flex:1;}
15 .box-flex2{-webkit-box-flex:2;-moz-box-flex:2;box-flex:2;}
16 .box-group1{-webkit-box-flex-group:1;-moz-box-flex-group:1;box-flex-group:1;}
17 .box-group2{-webkit-box-flex-group:2;-moz-box-flex-group:2;box-flex-group:2;}
18 .start{-webkit-box-pack:start;-moz-box-pack:start;box-pack:start;}
19 .end{-webkit-box-pack:end;-moz-box-pack:end;box-pack:end;}
20 .center{-webkit-box-pack:center;-moz-box-pack:center;box-pack:center;}
21 body{background-color:white;position:absolute;left:0px;right:0px;top:0px;bottom:0px;overflow:visible;}
22 div#header{display:none;}
23 #ipython_notebook{padding-left:16px;}
24 #noscript{width:auto;padding-top:16px;padding-bottom:16px;text-align:center;font-size:22px;color:red;font-weight:bold;}
25 #ipython_notebook img{font-family:Verdana,"Helvetica Neue",Arial,Helvetica,Geneva,sans-serif;height:24px;text-decoration:none;color:black;}
26 #site{width:100%;display:none;}
27 .ui-button .ui-button-text{padding:0.2em 0.8em;font-size:77%;}
28 input.ui-button{padding:0.3em 0.9em;}
29 .navbar span{margin-top:3px;}
30 span#login_widget{float:right;}
31 .nav-header{text-transform:none;}
32 .navbar-nobg{background-color:transparent;background-image:none;}
33 #header>span{margin-top:10px;}
34 .modal-body{max-height:500px;}
35 .center-nav{display:inline-block;margin-bottom:-4px;}
36 .alternate_upload{background-color:none;display:inline;}
37 .alternate_upload.form{padding:0;margin:0;}
38 .alternate_upload input.fileinput{background-color:red;position:relative;opacity:0;z-index:2;width:295px;margin-left:163px;cursor:pointer;}
39 .list_toolbar{padding:5px;height:25px;line-height:25px;}
40 .toolbar_info{float:left;}
41 .toolbar_buttons{float:right;}
42 .list_header{font-weight:bold;}
43 .list_container{margin-top:16px;margin-bottom:16px;border:1px solid #ababab;border-radius:4px;}
44 .list_container>div{border-bottom:1px solid #ababab;}.list_container>div:hover .list-item{background-color:red;}
45 .list_container>div:last-child{border:none;}
46 .list_item:hover .list_item{background-color:#ddd;}
47 .list_container>div>span,.list_container>div>div{padding:8px;}
48 .list_item a{text-decoration:none;}
49 input.nbname_input{height:15px;}
50 .highlight_text{color:blue;}
51 #project_name>.breadcrumb{padding:0px;margin-bottom:0px;background-color:transparent;font-weight:bold;}
52 input.engine_num_input{height:20px;margin-bottom:2px;padding-top:0;padding-bottom:0;width:60px;}
53 .ansibold{font-weight:bold;}
54 .ansiblack{color:black;}
55 .ansired{color:darkred;}
56 .ansigreen{color:darkgreen;}
57 .ansiyellow{color:brown;}
58 .ansiblue{color:darkblue;}
59 .ansipurple{color:darkviolet;}
60 .ansicyan{color:steelblue;}
61 .ansigray{color:gray;}
62 .ansibgblack{background-color:black;}
63 .ansibgred{background-color:red;}
64 .ansibggreen{background-color:green;}
65 .ansibgyellow{background-color:yellow;}
66 .ansibgblue{background-color:blue;}
67 .ansibgpurple{background-color:magenta;}
68 .ansibgcyan{background-color:cyan;}
69 .ansibggray{background-color:gray;}
70 .cell{border:1px solid transparent;display:-webkit-box;-webkit-box-orient:vertical;-webkit-box-align:stretch;display:-moz-box;-moz-box-orient:vertical;-moz-box-align:stretch;display:box;box-orient:vertical;box-align:stretch;width:100%;}.cell.selected{border-radius:4px;border:thin #ababab solid;}
71 div.cell{width:100%;padding:5px 5px 5px 0px;margin:2px 0px 2px 7px;outline:none;}
72 div.prompt{width:11ex;padding:0.4em;margin:0px;font-family:monospace;text-align:right;line-height:1.231em;}
73 .celltoolbar{border:thin solid #CFCFCF;border-bottom:none;background:#EEE;border-top-right-radius:3px;border-top-left-radius:3px;width:100%;-webkit-box-pack:end;height:22px;}
74 .no_input_radius{border-top-right-radius:0px;border-top-left-radius:0px;}
75 .text_cell .ctb_prompt{display:none;}
76 .code_cell .ctb_prompt{display:block;}
77 .ctb_hideshow{display:none;vertical-align:bottom;padding-right:2px;}
78 .celltoolbar>div{padding-top:0px;}
79 .ctb_area{margin:0;padding:0;width:100%;}
80 .ctb_show.ctb_hideshow,.ctb_show .ctb_hideshow{display:block;}
81 .ctb_show .input_area,.ctb_show .ctb_hideshow+div.text_cell_input{border-top-right-radius:0px;border-top-left-radius:0px;}
82 .ctb_show>.celltoolbar{border-bottom-right-radius:0px;border-bottom-left-radius:0px;}
83 .button_container{margin-top:0;margin-bottom:0;}
84 .ui-button{min-width:30px;}
85 .celltoolbar .button_container select{margin:10px;margin-top:1px;margin-bottom:0px;padding:0;font-size:87%;width:auto;display:inline-block;height:18px;line-height:18px;vertical-align:top;}
86 .celltoolbar label{display:inline-block;height:15px;line-height:15px;vertical-align:top;}
87 .celltoolbar label span{font-size:85%;}
88 .celltoolbar input[type=checkbox]{margin:0px;margin-left:4px;margin-right:4px;}
89 .celltoolbar .ui-button{border:none;vertical-align:top;height:20px;}
90 div.input{page-break-inside:avoid;display:-webkit-box;-webkit-box-orient:horizontal;-webkit-box-align:stretch;display:-moz-box;-moz-box-orient:horizontal;-moz-box-align:stretch;display:box;box-orient:horizontal;box-align:stretch;}
91 div.input_area{border:1px solid #cfcfcf;border-radius:4px;background:#f7f7f7;}
92 div.input_prompt{color:navy;border-top:1px solid transparent;}
93 div.output_wrapper{margin-top:5px;position:relative;display:-webkit-box;-webkit-box-orient:vertical;-webkit-box-align:stretch;display:-moz-box;-moz-box-orient:vertical;-moz-box-align:stretch;display:box;box-orient:vertical;box-align:stretch;width:100%;}
94 div.output_scroll{height:24em;width:100%;overflow:auto;border-radius:4px;-webkit-box-shadow:inset 0 2px 8px rgba(0, 0, 0, 0.8);-moz-box-shadow:inset 0 2px 8px rgba(0, 0, 0, 0.8);box-shadow:inset 0 2px 8px rgba(0, 0, 0, 0.8);}
95 div.output_collapsed{margin:0px;padding:0px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-box-align:stretch;display:-moz-box;-moz-box-orient:vertical;-moz-box-align:stretch;display:box;box-orient:vertical;box-align:stretch;width:100%;}
96 div.out_prompt_overlay{height:100%;padding:0px 0.4em;position:absolute;border-radius:4px;}
97 div.out_prompt_overlay:hover{-webkit-box-shadow:inset 0 0 1px #000000;-moz-box-shadow:inset 0 0 1px #000000;box-shadow:inset 0 0 1px #000000;background:rgba(240, 240, 240, 0.5);}
98 div.output_prompt{color:darkred;}
99 .CodeMirror{line-height:1.231em;height:auto;background:none;}
100 .CodeMirror-scroll{overflow-y:hidden;overflow-x:auto;}
101 @-moz-document {.CodeMirror-scroll{overflow-x:hidden;}}.CodeMirror-lines{padding:0.4em;}
102 .CodeMirror-linenumber{padding:0 8px 0 4px;}
103 .CodeMirror-gutters{border-bottom-left-radius:4px;border-top-left-radius:4px;}
104 .CodeMirror pre{padding:0;border:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;}
105 .completions{position:absolute;z-index:10;overflow:hidden;border:1px solid #ababab;border-radius:4px;-webkit-box-shadow:0px 6px 10px -1px #adadad;-moz-box-shadow:0px 6px 10px -1px #adadad;box-shadow:0px 6px 10px -1px #adadad;}
106 .completions select{background:white;outline:none;border:none;padding:0px;margin:0px;overflow:auto;font-family:monospace;font-size:110%;color:#000000;}
107 .completions select option.context{color:#0064cd;}
108 pre code{display:block;padding:0.5em;}
109 .highlight-base,pre code,pre .subst,pre .tag .title,pre .lisp .title,pre .clojure .built_in,pre .nginx .title{color:black;}
110 .highlight-string,pre .string,pre .constant,pre .parent,pre .tag .value,pre .rules .value,pre .rules .value .number,pre .preprocessor,pre .ruby .symbol,pre .ruby .symbol .string,pre .aggregate,pre .template_tag,pre .django .variable,pre .smalltalk .class,pre .addition,pre .flow,pre .stream,pre .bash .variable,pre .apache .tag,pre .apache .cbracket,pre .tex .command,pre .tex .special,pre .erlang_repl .function_or_atom,pre .markdown .header{color:#BA2121;}
111 .highlight-comment,pre .comment,pre .annotation,pre .template_comment,pre .diff .header,pre .chunk,pre .markdown .blockquote{color:#408080;font-style:italic;}
112 .highlight-number,pre .number,pre .date,pre .regexp,pre .literal,pre .smalltalk .symbol,pre .smalltalk .char,pre .go .constant,pre .change,pre .markdown .bullet,pre .markdown .link_url{color:#080;}
113 pre .label,pre .javadoc,pre .ruby .string,pre .decorator,pre .filter .argument,pre .localvars,pre .array,pre .attr_selector,pre .important,pre .pseudo,pre .pi,pre .doctype,pre .deletion,pre .envvar,pre .shebang,pre .apache .sqbracket,pre .nginx .built_in,pre .tex .formula,pre .erlang_repl .reserved,pre .prompt,pre .markdown .link_label,pre .vhdl .attribute,pre .clojure .attribute,pre .coffeescript .property{color:#8888ff;}
114 .highlight-keyword,pre .keyword,pre .id,pre .phpdoc,pre .aggregate,pre .css .tag,pre .javadoctag,pre .phpdoc,pre .yardoctag,pre .smalltalk .class,pre .winutils,pre .bash .variable,pre .apache .tag,pre .go .typename,pre .tex .command,pre .markdown .strong,pre .request,pre .status{color:#008000;font-weight:bold;}
115 .highlight-builtin,pre .built_in{color:#008000;}
116 pre .markdown .emphasis{font-style:italic;}
117 pre .nginx .built_in{font-weight:normal;}
118 pre .coffeescript .javascript,pre .javascript .xml,pre .tex .formula,pre .xml .javascript,pre .xml .vbscript,pre .xml .css,pre .xml .cdata{opacity:0.5;}
119 .cm-s-ipython span.cm-variable{color:black;}
120 .cm-s-ipython span.cm-keyword{color:#008000;font-weight:bold;}
121 .cm-s-ipython span.cm-number{color:#080;}
122 .cm-s-ipython span.cm-comment{color:#408080;font-style:italic;}
123 .cm-s-ipython span.cm-string{color:#BA2121;}
124 .cm-s-ipython span.cm-builtin{color:#008000;}
125 .cm-s-ipython span.cm-error{color:#f00;}
126 .cm-s-ipython span.cm-operator{color:#AA22FF;font-weight:bold;}
127 .cm-s-ipython span.cm-meta{color:#AA22FF;}
128 #menubar .navbar-inner{min-height:28px;border-top:1px;border-radius:0px 0px 4px 4px;}
129 #menubar .navbar{margin-bottom:8px;}
130 .nav-wrapper{border-bottom:1px solid #d4d4d4;}
131 #menubar li.dropdown{line-height:12px;}
132 body{background-color:#ffffff;}
133 body.notebook_app{overflow:hidden;}
134 span#notebook_name{height:1em;line-height:1em;padding:3px;border:none;font-size:146.5%;}
135 div#notebook_panel{margin:0px 0px 0px 0px;padding:0px;-webkit-box-shadow:0 -1px 10px rgba(0, 0, 0, 0.1);-moz-box-shadow:0 -1px 10px rgba(0, 0, 0, 0.1);box-shadow:0 -1px 10px rgba(0, 0, 0, 0.1);}
136 div#notebook{overflow-y:scroll;overflow-x:auto;width:100%;padding:5px 5px 15px 5px;margin:0px;border-top:1px solid #ababab;}
137 div.ui-widget-content{border:1px solid #ababab;outline:none;}
138 pre.dialog{background-color:#f7f7f7;border:1px solid #ddd;border-radius:4px;padding:0.4em;padding-left:2em;}
139 p.dialog{padding:0.2em;}
140 pre,code,kbd,samp{white-space:pre-wrap;}
141 #fonttest{font-family:monospace;}
142 p{margin-bottom:0;}
143 .end_space{height:200px;}
144 #notification_area{z-index:10;}
145 .notification_widget{color:#777777;padding:1px 12px;margin:2px 4px;z-index:10;border:1px solid #ccc;border-radius:4px;background:rgba(240, 240, 240, 0.5);}
146 div.output_area{padding:0px;page-break-inside:avoid;display:-webkit-box;-webkit-box-orient:horizontal;-webkit-box-align:stretch;display:-moz-box;-moz-box-orient:horizontal;-moz-box-align:stretch;display:box;box-orient:horizontal;box-align:stretch;}
147 div.output_area pre{font-family:monospace;margin:0;padding:0;border:0;font-size:100%;vertical-align:baseline;color:black;background-color:transparent;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;line-height:inherit;}
148 div.output_subarea{padding:0.44em 0.4em 0.4em 1px;margin-left:6px;-webkit-box-flex:1;-moz-box-flex:1;box-flex:1;}
149 div.output_text{text-align:left;color:#000000;font-family:monospace;line-height:1.231em;}
150 div.output_stream{padding-top:0.0em;padding-bottom:0.0em;}
151 div.output_stderr{background:#fdd;}
152 div.output_latex{text-align:left;}
153 .js-error{color:darkred;}
154 div.raw_input{padding-top:0px;padding-bottom:0px;height:1em;line-height:1em;font-family:monospace;}
155 span.input_prompt{font-family:inherit;}
156 input.raw_input{font-family:inherit;font-size:inherit;color:inherit;width:auto;margin:-2px 0px 0px 1px;padding-left:1px;padding-top:2px;height:1em;}
157 p.p-space{margin-bottom:10px;}
158 div#pager_splitter{height:8px;}
159 #pager-container{position:relative;padding:15px 0px;}
160 div#pager{overflow:auto;display:none;}div#pager pre{font-size:13px;line-height:1.231em;color:#000000;background-color:#f7f7f7;padding:0.4em;}
161 .shortcut_key{display:inline-block;width:15ex;text-align:right;font-family:monospace;}
162 .rendered_html{color:black;}.rendered_html em{font-style:italic;}
163 .rendered_html strong{font-weight:bold;}
164 .rendered_html u{text-decoration:underline;}
165 .rendered_html :link{text-decoration:underline;}
166 .rendered_html :visited{text-decoration:underline;}
167 .rendered_html h1{font-size:197%;margin:.65em 0;font-weight:bold;}
168 .rendered_html h2{font-size:153.9%;margin:.75em 0;font-weight:bold;}
169 .rendered_html h3{font-size:123.1%;margin:.85em 0;font-weight:bold;}
170 .rendered_html h4{font-size:100%;margin:0.95em 0;font-weight:bold;}
171 .rendered_html h5{font-size:85%;margin:1.5em 0;font-weight:bold;}
172 .rendered_html h6{font-size:77%;margin:1.65em 0;font-weight:bold;}
173 .rendered_html ul{list-style:disc;margin:1em 2em;}
174 .rendered_html ul ul{list-style:square;margin:0em 2em;}
175 .rendered_html ul ul ul{list-style:circle;margin:0em 2em;}
176 .rendered_html ol{list-style:decimal;margin:1em 2em;}
177 .rendered_html ol ol{list-style:upper-alpha;margin:0em 2em;}
178 .rendered_html ol ol ol{list-style:lower-alpha;margin:0em 2em;}
179 .rendered_html ol ol ol ol{list-style:lower-roman;margin:0em 2em;}
180 .rendered_html ol ol ol ol ol{list-style:decimal;margin:0em 2em;}
181 .rendered_html hr{color:black;background-color:black;}
182 .rendered_html pre{margin:1em 2em;}
183 .rendered_html pre,.rendered_html code{border:0;background-color:#ffffff;color:#000000;font-size:100%;padding:0px;}
184 .rendered_html blockquote{margin:1em 2em;}
185 .rendered_html table,.rendered_html tr,.rendered_html th,.rendered_html td{border:1px solid black;border-collapse:collapse;margin:1em 2em;}
186 .rendered_html td,.rendered_html th{text-align:left;vertical-align:middle;padding:4px;}
187 .rendered_html th{font-weight:bold;}
188 .rendered_html p{text-align:justify;}
189 .rendered_html p+p{margin-top:1em;}
190 span#save_widget{padding:0px 5px;margin-top:12px;}
191 span#checkpoint_status,span#autosave_status{font-size:small;}
192 @media (max-width:767px){span#save_widget{font-size:small;} span#checkpoint_status,span#autosave_status{font-size:x-small;}}@media (max-width:767px){span#checkpoint_status,span#autosave_status{display:none;}}@media (min-width:768px) and (max-width:979px){span#checkpoint_status{display:none;} span#autosave_status{font-size:x-small;}}div.text_cell{padding:5px 5px 5px 5px;}
193 div.text_cell_input{color:#000000;border:1px solid #cfcfcf;border-radius:4px;background:#f7f7f7;}
194 div.text_cell_render{outline:none;resize:none;width:inherit;border-style:none;padding:5px;color:#000000;}
195 a.heading-anchor{text-decoration:none;color:inherit;}
196 a.anchor-link:link{text-decoration:none;padding:0px 20px;visibility:hidden;}
197 h1:hover .anchor-link,h2:hover .anchor-link,h3:hover .anchor-link,h4:hover .anchor-link,h5:hover .anchor-link,h6:hover .anchor-link{visibility:visible;}
198 .toolbar{padding:0px 10px;margin-top:-5px;}.toolbar select,.toolbar label{width:auto;height:26px;vertical-align:middle;margin-right:2px;margin-bottom:0px;display:inline;font-size:92%;margin-left:0.3em;margin-right:0.3em;padding:0px;padding-top:3px;}
199 .toolbar .btn{padding:2px 8px;}
200 .toolbar .btn-group{margin-top:0px;}
201 .toolbar-inner{border:none !important;-webkit-box-shadow:none !important;-moz-box-shadow:none !important;box-shadow:none !important;}
202 #maintoolbar{margin-bottom:0px;}
203 @-moz-keyframes fadeOut{from{opacity:1;} to{opacity:0;}}@-webkit-keyframes fadeOut{from{opacity:1;} to{opacity:0;}}@-moz-keyframes fadeIn{from{opacity:0;} to{opacity:1;}}@-webkit-keyframes fadeIn{from{opacity:0;} to{opacity:1;}}.bigtooltip{overflow:auto;height:200px;-webkit-transition-property:height;-webkit-transition-duration:500ms;-moz-transition-property:height;-moz-transition-duration:500ms;transition-property:height;transition-duration:500ms;}
204 .smalltooltip{-webkit-transition-property:height;-webkit-transition-duration:500ms;-moz-transition-property:height;-moz-transition-duration:500ms;transition-property:height;transition-duration:500ms;text-overflow:ellipsis;overflow:hidden;height:80px;}
205 .tooltipbuttons{position:absolute;padding-right:15px;top:0px;right:0px;}
206 .tooltiptext{padding-right:30px;}
207 .ipython_tooltip{max-width:700px;-webkit-animation:fadeOut 400ms;-moz-animation:fadeOut 400ms;animation:fadeOut 400ms;-webkit-animation:fadeIn 400ms;-moz-animation:fadeIn 400ms;animation:fadeIn 400ms;vertical-align:middle;background-color:#f7f7f7;overflow:visible;border:#ababab 1px solid;outline:none;padding:3px;margin:0px;padding-left:7px;font-family:monospace;min-height:50px;-moz-box-shadow:0px 6px 10px -1px #adadad;-webkit-box-shadow:0px 6px 10px -1px #adadad;box-shadow:0px 6px 10px -1px #adadad;border-radius:4px;position:absolute;z-index:2;}.ipython_tooltip a{float:right;}
208 .ipython_tooltip .tooltiptext pre{border:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;font-size:100%;background-color:#f7f7f7;}
209 .pretooltiparrow{left:0px;margin:0px;top:-16px;width:40px;height:16px;overflow:hidden;position:absolute;}
210 .pretooltiparrow:before{background-color:#f7f7f7;border:1px #ababab solid;z-index:11;content:"";position:absolute;left:15px;top:10px;width:25px;height:25px;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);-o-transform:rotate(45deg);}
@@ -1,30 +1,33 b''
1 """ fabfile to prepare the notebook """
1 """ fabfile to prepare the notebook """
2
2
3 from fabric.api import local,lcd
3 from fabric.api import local,lcd
4 from fabric.utils import abort
4 from fabric.utils import abort
5 import os
5 import os
6
6
7 pjoin = os.path.join
7 static_dir = 'static'
8 static_dir = 'static'
8 components_dir = os.path.join(static_dir, 'components')
9 components_dir = os.path.join(static_dir, 'components')
9
10
11
10 def css(minify=True, verbose=False):
12 def css(minify=True, verbose=False):
11 """generate the css from less files"""
13 """generate the css from less files"""
12 source = os.path.join('style', 'style.less')
14 for name in ('style', 'ipython'):
13 target = os.path.join('style', 'style.min.css')
15 source = pjoin('style', "%s.less" % name)
14 _compile_less(source, target, minify, verbose)
16 target = pjoin('style', "%s.min.css" % name)
17 _compile_less(source, target, minify, verbose)
15
18
16 def _to_bool(b):
19 def _to_bool(b):
17 if not b in ['True', 'False', True, False]:
20 if not b in ['True', 'False', True, False]:
18 abort('boolean expected, got: %s' % b)
21 abort('boolean expected, got: %s' % b)
19 return (b in ['True', True])
22 return (b in ['True', True])
20
23
21 def _compile_less(source, target, minify=True, verbose=False):
24 def _compile_less(source, target, minify=True, verbose=False):
22 """Complie a less file by source and target relative to static_dir"""
25 """Compile a less file by source and target relative to static_dir"""
23 minify = _to_bool(minify)
26 minify = _to_bool(minify)
24 verbose = _to_bool(verbose)
27 verbose = _to_bool(verbose)
25 min_flag = '-x' if minify is True else ''
28 min_flag = '-x' if minify is True else ''
26 ver_flag = '--verbose' if verbose is True else ''
29 ver_flag = '--verbose' if verbose is True else ''
27 lessc = os.path.join('components', 'less.js', 'bin', 'lessc')
30 lessc = os.path.join('components', 'less.js', 'bin', 'lessc')
28 with lcd(static_dir):
31 with lcd(static_dir):
29 local('{lessc} {min_flag} {ver_flag} {source} {target}'.format(**locals()))
32 local('{lessc} {min_flag} {ver_flag} {source} {target}'.format(**locals()))
30
33
General Comments 0
You need to be logged in to leave comments. Login now