}\r
$this->optimizeSVG();\r
}\r
- \r
- public function optimizeSVG(){\r
- $scour=new cubeCommandLine('scour.php');\r
+\r
+ public function optimizeSVG() {\r
+ $scour = new cubeCommandLine('scour.php');\r
$scour->setPath(CONVERTER_PATH);\r
$scour->setNohup(true);\r
$scour->setArg(null, $this->html);\r
\r
public function makeHTML5Files($page) {\r
// Then make HD background shots\r
- $resolutions = array(150 => 75);\r
+ $resolutions = array(150 => 75, 36 => 80);\r
foreach ($resolutions as $r => $q) {\r
$this->makeShotPNM($page, 'html/h' . $r . '-', $r, $q, 4, null, false);\r
$this->makeShotPNM($page, 'html/t' . $r . '-', $r, $q, 4, null, true);\r
class wsHTML5Compiler {
- protected static $resolutions = array(150);
+ protected static $resolutions = array(150,36);
protected static $uaPrefixes = array('-moz-', '-webkit-', '-o-', '-ms-', '');
protected static $jsFiles = array(
'js/libs/cube/fb.js',
// Write widget html
$whtml = file_get_contents(WS_COMPILE_ASSETS . '/_html5/widget.html');
- $scripts = array();
- foreach (self::$widgetJsFiles as $js) {
- $scripts[] = '<script type="text/javascript" src="' . $js . '"></script>';
- }
- $scripts[] = '<script type="text/javascript" src="data/datas.js"></script>';
- $script = implode("\n\t\t", $scripts);
+ $script = '<script type="text/javascript" src="data/widget.js"></script>';
$style = '<link type="text/css" rel="stylesheet" href="style/widget.css">';
$vars = array('titre', 'style', 'script');
}
protected function writeJs() {
- $mintime = 0;
- $minimized = WS_COMPILE_ASSETS . '/_html5/js/min.js';
- if (file_exists($minimized)) {
- $mintime = filemtime($minimized);
- }
- $reminimize = false;
- foreach (self::$jsFiles as $file) {
- if (filemtime(WS_COMPILE_ASSETS . '/_html5/' . $file) > $mintime) {
- $reminimize = true;
- break;
+ $config = $this->writeConfig();
+ $finals = array('fluidbook' => self::$jsFiles, 'widget' => self::$widgetJsFiles);
+
+ foreach ($finals as $jsfinal => $files) {
+ $mintime = 0;
+ $minimized = WS_COMPILE_ASSETS . '/_html5/js/' . $jsfinal . '-min.js';
+ if (file_exists($minimized)) {
+ $mintime = filemtime($minimized);
+ }
+ $reminimize = false;
+ foreach ($files as $file) {
+ if (filemtime(WS_COMPILE_ASSETS . '/_html5/' . $file) > $mintime) {
+ $reminimize = true;
+ break;
+ }
}
- }
- if ($reminimize) {
- $js = '';
- foreach (self::$jsFiles as $file) {
- $js.=file_get_contents(WS_COMPILE_ASSETS . '/_html5/' . $file);
- $js.="\n\n";
+ if ($reminimize) {
+ $js = '';
+ foreach ($files as $file) {
+ $js.=file_get_contents(WS_COMPILE_ASSETS . '/_html5/' . $file);
+ $js.="\n\n";
+ }
+ $tmp = cubeFiles::tempnam();
+ file_put_contents($tmp, $js);
+
+ $uglify = new cubeCommandLine('uglifyjs');
+ $uglify->setPath(CONVERTER_PATH);
+ $uglify->setArg('o', $minimized);
+ $uglify->setArg('mangle-toplevel');
+ $uglify->setArg('no-copyright');
+ $uglify->setArg('unsafe');
+ $uglify->setArg(null, $tmp);
+ $uglify->execute();
}
- $tmp = cubeFiles::tempnam();
- file_put_contents($tmp, $js);
- $compressor = new cubeCommandLine('yuicompressor');
- $compressor->setPath(CONVERTER_PATH);
- $compressor->setArg('charset', 'UTF-8');
- $compressor->setArg('type', 'js');
- $compressor->setArg('line-break', 1024);
- $compressor->setArg('o', $minimized);
- $compressor->setArg(null, $tmp);
- $compressor->execute();
+ $js = $config . file_get_contents($minimized);
+ file_put_contents($this->vdir . '/data/' . $jsfinal . '.js', $js);
}
- $config = $this->writeConfig();
- $js = $config . file_get_contents($minimized);
file_put_contents($this->vdir . '/data/datas.js', $config);
- file_put_contents($this->vdir . '/data/fluidbook.js', $js);
}
protected function writeConfig() {