Merge pull request #3791 from nextcloud/combine_sass

Combine sass
This commit is contained in:
Lukas Reschke 2017-03-09 23:25:17 +01:00 committed by GitHub
commit 6fd0e7e939
7 changed files with 30 additions and 14 deletions

11
core/css/server.scss Normal file
View File

@ -0,0 +1,11 @@
@import 'styles.scss';
@import 'inputs.scss';
@import 'header.scss';
@import 'icons.scss';
@import 'fonts.scss';
@import 'apps.scss';
@import 'global.scss';
@import 'fixes.scss';
@import 'multiselect.scss';
@import 'mobile.scss';
@import 'tooltip.scss';

View File

@ -103,10 +103,17 @@ class SCSSCacher {
private function isCached($fileNameCSS, $fileNameSCSS, ISimpleFolder $folder, $path) {
try{
$cachedFile = $folder->getFile($fileNameCSS);
if( $cachedFile->getMTime() > filemtime($path.'/'.$fileNameSCSS)
&& $cachedFile->getSize() > 0 ) {
return true;
if ($cachedFile->getSize() > 0) {
$depFile = $folder->getFile($fileNameCSS . '.deps');
$deps = json_decode($depFile->getContent(), true);
foreach ($deps as $file=>$mtime) {
if (!file_exists($file) || filemtime($file) > $mtime) {
return false;
}
}
}
return true;
} catch(NotFoundException $e) {
return false;
}
@ -140,6 +147,13 @@ class SCSSCacher {
$cachedfile = $folder->newFile($fileNameCSS);
}
$depFileName = $fileNameCSS . '.deps';
try {
$depFile = $folder->getFile($depFileName);
} catch (NotFoundException $e) {
$depFile = $folder->newFile($depFileName);
}
// Compile
try {
$compiledScss = $scss->compile('@import "'.$fileNameSCSS.'";');
@ -150,6 +164,7 @@ class SCSSCacher {
try {
$cachedfile->putContent($this->rebaseUrls($compiledScss, $webDir));
$depFile->putContent(json_encode($scss->getParsedFiles()));
$this->logger->debug($webDir.'/'.$fileNameSCSS.' compiled and successfully cached', ['app' => 'core']);
return true;
} catch(NotFoundException $e) {

View File

@ -106,19 +106,9 @@ class OC_Template extends \OC\Template\Base {
}
}
OC_Util::addStyle("tooltip",null,true);
OC_Util::addStyle('jquery-ui-fixes',null,true);
OC_Util::addVendorStyle('jquery-ui/themes/base/jquery-ui',null,true);
OC_Util::addStyle("mobile",null,true);
OC_Util::addStyle("multiselect",null,true);
OC_Util::addStyle("fixes",null,true);
OC_Util::addStyle("global",null,true);
OC_Util::addStyle("apps",null,true);
OC_Util::addStyle("fonts",null,true);
OC_Util::addStyle("icons",null,true);
OC_Util::addStyle("header",null,true);
OC_Util::addStyle("inputs");
OC_Util::addStyle("styles",null,true);
OC_Util::addStyle('server', null, true);
// avatars
\OC_Util::addScript('jquery.avatar', null, true);