mirror of
https://github.com/YunoHost/doc.git
synced 2024-09-03 20:06:26 +02:00
56 lines
1.2 KiB
PHP
56 lines
1.2 KiB
PHP
|
<?php
|
||
|
namespace Grav\Plugin\Admin;
|
||
|
|
||
|
use ScssPhp\ScssPhp\Compiler;
|
||
|
|
||
|
class ScssCompiler
|
||
|
{
|
||
|
protected $compiler;
|
||
|
|
||
|
public function compiler()
|
||
|
{
|
||
|
if ($this->compiler === null) {
|
||
|
$this->reset();
|
||
|
}
|
||
|
return $this->compiler;
|
||
|
}
|
||
|
|
||
|
public function reset()
|
||
|
{
|
||
|
$this->compiler = new Compiler();
|
||
|
return $this;
|
||
|
}
|
||
|
|
||
|
public function setVariables(array $variables)
|
||
|
{
|
||
|
$this->compiler()->setVariables($variables);
|
||
|
return $this;
|
||
|
}
|
||
|
|
||
|
public function setImportPaths(array $paths)
|
||
|
{
|
||
|
$this->compiler()->setImportPaths($paths);
|
||
|
return $this;
|
||
|
}
|
||
|
|
||
|
public function compile(string $input_file, string $output_file)
|
||
|
{
|
||
|
$input = file_get_contents($input_file);
|
||
|
$output = $this->compiler()->compile($input);
|
||
|
file_put_contents($output_file, $output);
|
||
|
return $this;
|
||
|
}
|
||
|
|
||
|
public function compileAll(array $input_paths, string $output_file)
|
||
|
{
|
||
|
$input = '';
|
||
|
foreach ($input_paths as $input_file) {
|
||
|
$input .= trim(file_get_contents($input_file)) . "\n\n";
|
||
|
}
|
||
|
$output = $this->compiler()->compile($input);
|
||
|
file_put_contents($output_file, $output);
|
||
|
return $this;
|
||
|
}
|
||
|
|
||
|
}
|