Embedded Sass Host for Python.
Important
This is laboratory stage project. It does not ensure to continue development for goal.
This is Python project to compile Sass/SCSS using Dart Sass <https://sass-lang.com/dart-sass/> that is primary implementation of Sass using Dart runtime.
Install:
pip install sass-embeddedSource:
@use"sass:list"; @use"sass:color"; $font-stack: Helvetica,Arial; $primary-color:#333; body{$font-stack: list.append($font-stack,sans-serif); font: $font-stack} a{color: $primary-color; &:hover{color: color.scale($primary-color, $lightness:20%)} } @debug $font-stack;Run:
frompathlibimportPathfromsass_embeddedimportcompile_filecompile_file(Path("style.scss"))Output:
body{font: Helvetica, Arial, sans-serif} a{color:#333} a:hover{color:rgb(91.8,91.8,91.8)}I develop sphinx-revealjs that is Python Project to generate HTML presentation from reStructuredText or Markdown.
Reveal.js uses Sass to create presentation themes, and this uses sass:color module since v5.2.0. But sphinxcontrib-sass does not compile themes, because this module is not supported by LibSass.
To resolve it, I am developing optional extension optimized sphinx-revealjs. Concurrently I will develop generic project for multiple usecases.
This is the side of "generic project".
Final goal is to have features as same as other "Sass Embedded" libraries.
But I will split some steps for it.
Works as compile Sass/SCSS with subprocess-based actions.
- Provide single entrypoint to compile sources using Dart Sass native executable.
- Generate Dart Sass bundled bdist files every platforms.
Works as "Sass Embedded Host for Python".
- Support The Embedded Sass Protocol.
Works as alternative to libsass-python.
- Support all api of
libsass-pythonusing Dart Sass native executable.
This project supports only Python 3.9+.
I plan for Apache License 2.0.