/** Datei: plugins/scss/hooks/templates.php **/ * @copyright 2023 Sparky@ARUNOX * @version 1.0.0 * @since 1.0.0 File is created */ use ARUNOX\Hooks; use ARUNOX\Templates; // Hooks::add( 'Templates\Header::styles', function() { // $filename = SCSS_CSS_URL . "/styles.css"; // $filename = get_versioned_url( $filename ); // // echo ""; // }); /** Datei: plugins/scss/hooks/public.php **/ * @copyright 2023 Sparky@ARUNOX * @version 1.0.0 * @since 1.0.0 File is created */ use ARUNOX\Core\Hooks; use ARUNOX\Compiler\SCSS; function ScssFetchVars( &$list, $name, $value ) { if( !isset( $list[ $name ] ) ) { $list[ $name ] = NULL; } if( $value[0] === "map" || $value[0] === "list" ) { foreach( $value[2] as $curIndex => $curValue ) { if( function_exists( "ScssFetchVars" ) ) { ScssFetchVars( $list[ $name ], $curIndex, $curValue ); } } } elseif( $value[0] === "list" || is_array( $value ) ) { return; } else { $list[ $name ] = (string)$value; } } Hooks::add( 'SCSS::variables->set', function( $variables ) { $variables["restdir"] = realpath( PLUGINS_DIR . "/rest/assets/scss" ); $variables["themedir"] = realpath( THEME . "/assets/scss" ); // show( $variables ); return $variables; }); Hooks::add( 'public::index->init', function() { define( "SCSS_CSS_URL", THEME->url ); define( "SCSS_CSS_DIR", THEME . "/assets" ); define( "SCSS_CACHE_DIR", THEME . "/assets/scss" ); define( "SCSS_FILES_DIR", THEME . "/assets/scss" ); global $scss_compiler; global $scss_vars; $scss_filename = SCSS_CACHE_DIR . "/scss_vars.json"; $scss_compiler = new SCSS( scss_dir : SCSS_FILES_DIR . "/", css_dir : SCSS_CSS_DIR . "/", cache_dir : SCSS_CACHE_DIR . "/", compile_method : "expanded", sourcemaps : "SOURCE_MAP_NONE" ); $scss_compiler->set_variables( Hooks::filter( 'SCSS::variables->set', [] ) ); if( !file_exists( $scss_filename ) ) { $scss_compiler->compile( TRUE ); $scss_compiler->saveVars( $scss_vars ); } if( !$scss_vars ) { $scss_vars = $scss_compiler->loadVars(); } // if( RESPONSE_TYPE_AJAX ) { // define( "SCSS", $scss_vars ); // return; // } if( $scss_compiler->needs_compiling() ) { $scss_compiler->compile(); $scss_compiler->saveVars( $scss_vars ); } if( isset( $_GET["debug"] ) ) { if( in_array( "scss", (array)$_GET["debug"] ) ) { $scss_compiler->compile( TRUE ); $scss_compiler->saveVars( $scss_vars ); } show( $scss_compiler->getLog() ); show( $scss_compiler->get_compile_errors() ); } define( "SCSS", $scss_compiler->loadVars() ); });