Verified Commit 7262e042 authored by Marco Kellershoff's avatar Marco Kellershoff 🤸
Browse files

Add `scss` compile-support

parent 92ee3162
......@@ -406,7 +406,7 @@
this.isCompilable = function() {
var comp = ['html', 'javascript', 'markdown'];
var comp = ['html', 'javascript', 'markdown', 'scss'];
var current_syntax = this.getEditorSyntax();
return comp.includes(current_syntax);
This diff is collapsed.
# scssphp v0.0.12
### <>
[![Build Status](](
`scssphp` is a compiler for SCSS written in PHP.
It implements SCSS 3.2.12. It does not implement the SASS syntax, only the SCSS
Checkout the homepage, <>, for directions on how to use.
## Running Tests
`scssphp` uses [PHPUnit]( for testing.
Run the following command from the root directory to run every test:
phpunit tests
There are two kinds of tests in the `tests/` directory:
* `ApiTest.php` contains various unit tests that test the PHP interface.
* `ExceptionTest.php` contains unit tests that test for exceptions thrown by the parser and compiler.
* `InputTest.php` compiles every `.scss` file in the `tests/inputs` directory
then compares to the respective `.css` file in the `tests/outputs` directory.
When changing any of the tests in `tests/inputs`, the tests will most likely
fail because the output has changed. Once you verify that the output is correct
you can run the following command to rebuild all the tests:
BUILD=true phpunit tests
This will compile all the tests, and save results into `tests/outputs`.
This diff is collapsed.
......@@ -34,6 +34,15 @@ case 'markdown':
$transformed = Michelf\MarkdownExtra::defaultTransform($input);
$output = str_replace('{{content}}', $transformed, $skel);
case 'scss':
require './lib/scssphp/';
$scss = new scssc();
try {
$output = $scss->compile($input);
} catch (Exception $ex) {
$output = $ex->getMessage();
$output = $input;
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment