Webloader – less do css se nepřekládá
- ondrej256
- Člen | 187
Dobrý den,
mám less soubor, který potřebuju kompilovat do css. Stáhl jsem si Webloader z addons.
v továrničce mně nefungovala zakomentovaná část, nahradil jsem to kódem pod zakomentovaným kódem.
protected function createComponentCss()
{
$files = new WebLoader\FileCollection($this->context->parameters['wwwDir'] . '/default/css');
$files->addFiles(array(
$this->context->parameters['wwwDir'] . '/default/style/style.less',
));
$compiler = WebLoader\Compiler::createCssCompiler($files, $this->context->parameters['wwwDir'] . '/temp');
$compiler->addFilter(new WebLoader\Filter\VariablesFilter(array('foo' => 'bar')));
/*$compiler->addFilter(function ($code) {
return cssmin::minify($code, "remove-last-semicolon");
});*/
$compiler->addFileFilter(function ($code, $compiler, $path) {
if (in_array(basename($path), array('style.css'))) {
return cssmin::minify($code);
} else {
return $code;
}
});
$control = new WebLoader\Nette\CssLoader($compiler, '/temp');
$control->setMedia('screen');
return $control;
}
Když mám v less souboru
@color: red;
body{
color: @color;
}
Tak se proměnná color nechce zkompilovat na red. Na výstupu v css souboru se objeví stejný obsah jako v less
@color: red;
body{
color: @color; /* tady se ma vypsat "red" */
}
Nevíte v čem mám chybu?
Editoval ondrej256 (25. 8. 2014 11:04)
- iguana007
- Člen | 970
Tirus91 napsal(a):
@JanMarek @matej21
je super, že všude je jak to použít, ale nikde není napsáno co to vůbec dělá. Tudíž se optám, co WebLoader přesně vlastně dělá a jak funguje?
@Tirus91 Slouží k tomu, že si v presenteru jendoduše nadefinuješ seznam css a js souborů a web loader ti je automaticky spojí v jeden soubor (zvlášť css a js) a vloží ti to do hlavičky webu (funguje to jako komponenta). Navíc si tam můžeš přidat i různé filtry, takže ti to potom automaticky může kompilovat less soubory, minifikovat javascripty atd., tj. je už jen na tobě jak si to nakonfiguruješ, či přes které knihovny ještě ty soubory před spojením v jeden file proženeš.