diff --git a/setup.py b/setup.py index f8ab76a..11a52d8 100755 --- a/setup.py +++ b/setup.py @@ -70,6 +70,7 @@ from setupbase import ( update_submodules, require_submodules, UpdateSubmodules, + CompileCSS, ) from setupext import setupext @@ -236,6 +237,7 @@ setup_args['cmdclass'] = { 'sdist' : git_prebuild('IPython', sdist), 'upload_wininst' : UploadWindowsInstallers, 'submodule' : UpdateSubmodules, + 'css' : CompileCSS, } #--------------------------------------------------------------------------- diff --git a/setupbase.py b/setupbase.py index db45a35..ca87fc0 100644 --- a/setupbase.py +++ b/setupbase.py @@ -30,6 +30,7 @@ except: from distutils.command.build_py import build_py from distutils.cmd import Command from glob import glob +from subprocess import call from setupext import install_data_ext @@ -474,3 +475,26 @@ def require_submodules(command): sys.exit(1) command.run(self) return DecoratedCommand + +#--------------------------------------------------------------------------- +# Notebook related +#--------------------------------------------------------------------------- + +class CompileCSS(Command): + """Recompile Notebook CSS + + Regenerate the compiled CSS from LESS sources. + + Requires various dev dependencies, such as fabric and lessc. + """ + description = "Recompile Notebook CSS" + user_options = [] + + def initialize_options(self): + pass + + def finalize_options(self): + pass + + def run(self): + call("fab css", shell=True, cwd=pjoin(repo_root, "IPython", "html"))