--- /dev/null
+<?php
+
+namespace App\Jobs;
+
+use App\Http\Controllers\FrontController;
+use Cubist\Util\Files\VirtualDirectory;
+use Illuminate\Bus\Queueable;
+use Illuminate\Contracts\Queue\ShouldBeUnique;
+use Illuminate\Contracts\Queue\ShouldQueue;
+use Illuminate\Foundation\Bus\Dispatchable;
+use Illuminate\Queue\InteractsWithQueue;
+use Illuminate\Queue\SerializesModels;
+use Illuminate\View\View;
+
+class ProducePackage implements ShouldQueue, ShouldBeUnique {
+ /**
+ * @var string
+ */
+
+ protected $dir;
+
+ /**
+ * @var VirtualDirectory
+ */
+ protected $vdir;
+
+ use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
+
+ public function handle() {
+
+ $this->dir = storage_path('package');
+ $this->vdir = new VirtualDirectory($this->dir);
+
+ $this->vdir->copyDirectory(storage_path('fluidbook/out'), 'coeur');
+ $frontDirectories=['css','fonts','images','js'];
+ foreach ($frontDirectories as $frontDirectory) {
+ $this->vdir->copyDirectory(public_path($frontDirectory), $frontDirectory);
+ }
+
+ $frontController = new FrontController();
+ $this->vdir->file_put_contents('index.html', $this->_render($frontController->splash()));
+ $this->vdir->file_put_contents('accueil.html', $this->_render($frontController->home()));
+ $this->vdir->file_put_contents('mediatheque.html', $this->_render($frontController->medialibrary()));
+ $this->vdir->file_put_contents('ressources.html', $this->_render($frontController->resources()));
+
+ $this->vdir->sync(true);
+ }
+
+ /**
+ * @param $view View
+ */
+ protected function _render($view) {
+ $html = $view->render();
+ $replace = [
+ 'https://odl.paris.cubedesigners.com/front/' => './',
+ 'https://odl.paris.cubedesigners.com/'=>'./',
+ '/front/'=>'./',
+ ];
+ $html = str_replace(array_keys($replace), array_values($replace), $html);
+
+ return $html;
+ }
+
+
+}
mix.js('resources/js/app.js', 'public/js')
- .postCss('resources/css/app.css', 'public/css', [
+ .postCss('resources/css/app.css', 'public/css', [
require('postcss-import'), // Enables build-time imports
require('tailwindcss'),
- ]);
+ ]).options({
+ processCssUrls: false
+});
+;
// Copy pre-compiled Isotope JS package
mix.copy('node_modules/isotope-layout/dist/isotope.pkgd.min.js', 'public/js/isotope.js');