summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorFrédéric Guillot <fred@kanboard.net>2019-07-25 19:23:30 -0700
committerFrédéric Guillot <fred@kanboard.net>2019-07-25 19:23:30 -0700
commit8c396287ac871c1a5aaf0a4bc608df101f677d1d (patch)
tree4c96460e20c34c646595d0b3e09a00b086551534 /app
parentd42dd0705481bacf38c8d2a6c915398046ead014 (diff)
Improve assets management
Diffstat (limited to 'app')
-rw-r--r--app/Console/CssCommand.php14
-rw-r--r--app/Console/JsCommand.php26
-rw-r--r--app/functions.php22
3 files changed, 32 insertions, 30 deletions
diff --git a/app/Console/CssCommand.php b/app/Console/CssCommand.php
index a246a0db..0cb9a38a 100644
--- a/app/Console/CssCommand.php
+++ b/app/Console/CssCommand.php
@@ -87,11 +87,11 @@ class CssCommand extends BaseCommand
];
private $vendorFiles = [
- 'jquery-ui/jquery-ui.min.css',
- 'jqueryui-timepicker-addon/jquery-ui-timepicker-addon.min.css',
- 'select2/css/select2.min.css',
- 'font-awesome/css/font-awesome.min.css',
- 'c3/c3.min.css',
+ self::CSS_VENDOR_PATH.'jquery-ui/jquery-ui.min.css',
+ self::CSS_VENDOR_PATH.'jqueryui-timepicker-addon/jquery-ui-timepicker-addon.min.css',
+ self::CSS_VENDOR_PATH.'select2/css/select2.min.css',
+ self::CSS_VENDOR_PATH.'font-awesome/css/font-awesome.min.css',
+ self::CSS_VENDOR_PATH.'c3/c3.min.css',
];
protected function configure()
@@ -106,7 +106,9 @@ class CssCommand extends BaseCommand
{
$this->minifyFiles(self::CSS_SRC_PATH, $this->appFiles, 'app.min.css');
$this->minifyFiles(self::CSS_SRC_PATH, $this->printFiles, 'print.min.css');
- $this->minifyFiles(self::CSS_VENDOR_PATH, $this->vendorFiles, 'vendor.min.css');
+
+ $vendorBundle = concat_files($this->vendorFiles);
+ file_put_contents('assets/css/vendor.min.css', $vendorBundle);
}
private function minifyFiles($folder, array $files, $destination)
diff --git a/app/Console/JsCommand.php b/app/Console/JsCommand.php
index 4adf42be..15657715 100644
--- a/app/Console/JsCommand.php
+++ b/app/Console/JsCommand.php
@@ -79,34 +79,12 @@ class JsCommand extends BaseCommand
protected function execute(InputInterface $input, OutputInterface $output)
{
- $appBundle = $this->concat($this->appFiles);
- $vendorBundle = $this->concat($this->vendorFiles);
+ $appBundle = concat_files($this->appFiles);
+ $vendorBundle = concat_files($this->vendorFiles);
$minifier = new Minify\JS($appBundle);
file_put_contents('assets/js/app.min.js', $minifier->minify());
file_put_contents('assets/js/vendor.min.js', $vendorBundle);
}
-
- private function concat(array $files)
- {
- $data = '';
- foreach ($files as $pattern) {
- foreach (glob($pattern) as $filename) {
- echo $filename.PHP_EOL;
- if (! file_exists($filename)) {
- die("$filename not found\n");
- }
-
- $contents = file_get_contents($filename);
- if ($contents === false) {
- die("Unable to read $filename\n");
- }
-
- $data .= $contents;
- }
- }
-
- return $data;
- }
}
diff --git a/app/functions.php b/app/functions.php
index fc278029..ada96d97 100644
--- a/app/functions.php
+++ b/app/functions.php
@@ -2,6 +2,28 @@
use Kanboard\Core\Translator;
+function concat_files(array $files)
+{
+ $data = '';
+ foreach ($files as $pattern) {
+ foreach (glob($pattern) as $filename) {
+ echo $filename.PHP_EOL;
+ if (! file_exists($filename)) {
+ die("$filename not found\n");
+ }
+
+ $contents = file_get_contents($filename);
+ if ($contents === false) {
+ die("Unable to read $filename\n");
+ }
+
+ $data .= $contents;
+ }
+ }
+
+ return $data;
+}
+
function session_get($key)
{
return isset($_SESSION[$key]) ? $_SESSION[$key] : null;