2013-01-27 00:12:52 +08:00
|
|
|
""" fabfile to prepare the notebook """
|
|
|
|
|
|
|
|
from fabric.api import local,lcd
|
|
|
|
from fabric.utils import abort
|
|
|
|
import os
|
|
|
|
|
2013-07-14 08:55:49 +08:00
|
|
|
pjoin = os.path.join
|
2013-01-27 00:12:52 +08:00
|
|
|
static_dir = 'static'
|
2013-05-02 06:05:23 +08:00
|
|
|
components_dir = os.path.join(static_dir, 'components')
|
2013-01-27 00:12:52 +08:00
|
|
|
|
2013-07-14 08:55:49 +08:00
|
|
|
|
2013-05-22 12:11:18 +08:00
|
|
|
def css(minify=True, verbose=False):
|
2013-01-27 00:12:52 +08:00
|
|
|
"""generate the css from less files"""
|
2013-07-14 08:55:49 +08:00
|
|
|
for name in ('style', 'ipython'):
|
|
|
|
source = pjoin('style', "%s.less" % name)
|
|
|
|
target = pjoin('style', "%s.min.css" % name)
|
|
|
|
_compile_less(source, target, minify, verbose)
|
2013-05-16 09:14:53 +08:00
|
|
|
|
2013-05-22 12:11:18 +08:00
|
|
|
def _to_bool(b):
|
|
|
|
if not b in ['True', 'False', True, False]:
|
|
|
|
abort('boolean expected, got: %s' % b)
|
|
|
|
return (b in ['True', True])
|
|
|
|
|
|
|
|
def _compile_less(source, target, minify=True, verbose=False):
|
2013-07-14 08:55:49 +08:00
|
|
|
"""Compile a less file by source and target relative to static_dir"""
|
2013-05-22 12:11:18 +08:00
|
|
|
minify = _to_bool(minify)
|
|
|
|
verbose = _to_bool(verbose)
|
|
|
|
min_flag = '-x' if minify is True else ''
|
|
|
|
ver_flag = '--verbose' if verbose is True else ''
|
2013-05-02 09:20:21 +08:00
|
|
|
lessc = os.path.join('components', 'less.js', 'bin', 'lessc')
|
2013-01-27 00:12:52 +08:00
|
|
|
with lcd(static_dir):
|
2013-05-22 12:11:18 +08:00
|
|
|
local('{lessc} {min_flag} {ver_flag} {source} {target}'.format(**locals()))
|
2013-01-27 00:12:52 +08:00
|
|
|
|