From 13a3c1e29473aa9f563e8db4ad94cb3eee9bdfe6 Mon Sep 17 00:00:00 2001 From: Gareth Coles Date: Tue, 5 Jun 2018 16:07:35 +0100 Subject: Move from CSS to SCSS (#86) * Rewrite existing style.css with sass * Add "uses-rst" class for pages that use rendered RST This replaces the previous method of just listing every page in the sass * Remove old debug print * Mixins and error pages * Newly built CSS * Add SASS cache to .gitignore * New error SASS * Slight changes to error template * Add UIKit SCSS to repo This includes the LICENSE and our customizations, which makes life way easier for contributors * Reorganize sass folder; your watchers can avoid uikit now * Sass folder should be called scss * Change variable names * [SCSS] Linting * Fix scss_lint gem name [ci skip] * [SCSS] Now you can compile with just Python! * Temporary hack to make the wiki editor taller * [SCSS] @jchristgit * [SCSS.py] Require specification of include dir to simplify the SCSS imports * [SCSS] All inline styles have been removed * [SCSS] Update UIKit theme to import from our variables * [SCSS] Remove extra newlines in errors/_common.scss --- scss.py | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 scss.py (limited to 'scss.py') diff --git a/scss.py b/scss.py new file mode 100644 index 00000000..2dbf179e --- /dev/null +++ b/scss.py @@ -0,0 +1,36 @@ +""" +Single-file libsass wrapper that can compile SASS/SCSS files into CSS. + +Usage: `python scss.py input.scss:output.css input2.scss:output2.css` +""" + +import sys + +import sass + +if len(sys.argv) <= 1: + print("Usage: python scss.py include_dir:input.scss:output.css import_dir:input2.sass:output2.sass") + +for arg in sys.argv[1:]: + include_dir, input_file, output_file = arg.split(":") + source_map_file = f"{output_file}.map" + + try: + compiled, source_map = sass.compile( + filename=input_file, + output_style="compressed", + output_filename_hint=output_file, + source_map_filename=source_map_file, + include_paths=[include_dir] + ) + except sass.CompileError as e: + print(f"Failed to compile {input_file}\n\n{e}") + exit(1) + else: + with open(output_file, "w") as out_fh: + out_fh.write(compiled) + + with open(source_map_file, "w") as map_fh: + map_fh.write(source_map) + + print(f"Compiled: {input_file} -> {output_file}") -- cgit v1.2.3