Sass (which stands for Syntactically Awesome Style Sheets) is an extension of CSS that enables you to use things like variables, nested rules, inline imports and more. There are multiple implementations of Sass.
Dart Sass is the primary implementation of Sass, which means it gets new features before any other implementation. Prepros uses Dart-Sass by default to compile files.
Node-Sass uses LibSass, the C implementation of Sass to compile files. You can enable Node-Sass from Project Settings -> CSS Tools -> Sass.
Ruby-Sass is the deprecated Ruby implementation of Sass. Prepros doesn't support Ruby-Sass.
You can configure Sass from Project Settings -> CSS Tools -> Sass.
Change Output Destination
Click the output path on the file options sidebar to manually change the output path of a file. You can also use project wide output options to adjust output path for all Sass files.
Enable the SourceMap option to create a sourcemap (
.map) file along with the output CSS file.
SourceMap files allow you to find the original position of rule sets and properties in the Sass file while inspecting pages with developer tools.
Enable the Source Comments option to output comments in the CSS file containing the file name and line number of a rule set in the input Sass file. Dart Sass doesn't support source comments.
Use the Precision option to set how many digits after the decimal will be allowed. For instance, if you have a decimal number of 1.23456789 and a precision of 5, the result will be 1.23457 in the final CSS. This option is only available with Node-Sass, Dart-Sass always uses 10 digit precision.
Use the Output Style option to set the format of the output CSS file. Output Style option is only available with Node-Sass, Dart-Sass outputs expanded CSS by default.
Nested — Nest rule sets.
Expanded — Separate rule sets and properties with a new line. Makes it easier to read and debug.
Compact — Output one rule set per line.
Use the Indent Type option to indent output CSS with spaces or tabs.
Use the Indent Width option to set the number of spaces or tabs to use while indenting output CSS.
Enable the Prefix CSS option to add vendor prefixes to the output CSS file with Autoprefixer.
Enable the Minify CSS option to minify the output CSS file.
Prepros compiles the parent file whenever you edit an imported file. Prepros also re-scans imported files whenever you edit a file. Refresh project with CTRL+R or CMD+R to manually re-scan imported files.
For instance if you have a file called
a.scss with the following imports.
@use "b.scss"; @import "c.scss"; @import "d.scss";
Prepros will process
a.scss whenever you edit
You can optionally enable import globbing from Project Settings -> CSS Tools -> Sass. This option allows you to import multiple Sass files with a glob pattern.
This will import all
.scss files in the
hello folder in the alphabetical order.
Issues with Globbing
Even though globbing makes it easier to import a lot of files, I would not recommend it. CSS relies on the order of selectors for specificity and importing all Sass files in the alphabetical error can lead to subtle issues related to specificity. Source-maps also won't work if you use globbing.
Bourbon, Neat and Susy
You can can use Bourbon, Neat, Susy after installing them with NPM
// relative path of the bourbon module @import "../node_modules/bourbon/core/bourbon"; // relative path to the neat module @import "../node_modules/bourbon-neat/core/neat"; // relative path of the susy module @import "../node_modules/susy/sass/susy";
Compass is deprecated and very old. Prepros doesn't support Compass. I recommend Bourbon instead.
Learn more about Sass from Sass website.