feat(custom-css-manager): implementar TIPO 3 - CSS Crítico Personalizado
Nuevo sistema de gestión de CSS personalizado con panel admin: - Admin/CustomCSSManager: CRUD de snippets CSS (crítico/diferido) - Public/CustomCSSManager: Inyección dinámica en frontend - Schema JSON para configuración del componente Migración de CSS estático a BD: - Tablas APU (~14KB) → snippet diferido en BD - Tablas Genéricas (~10KB) → snippet diferido en BD - Comentadas funciones legacy en enqueue-scripts.php Limpieza de archivos obsoletos: - Eliminado build-bootstrap-subset.js - Eliminado migrate-legacy-options.php - Eliminado minify-css.php - Eliminado purgecss.config.js Beneficios: - CSS editable desde admin sin tocar código - Soporte crítico (head) y diferido (footer) - Filtrado por scope (all/home/single/archive) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -1,60 +0,0 @@
|
||||
<?php
|
||||
/**
|
||||
* Simple CSS Minifier Script
|
||||
* Run from command line: php minify-css.php
|
||||
*/
|
||||
|
||||
function minify_css($css) {
|
||||
// Remove comments
|
||||
$css = preg_replace('!/\*[^*]*\*+([^/][^*]*\*+)*/!', '', $css);
|
||||
|
||||
// Remove space after colons
|
||||
$css = str_replace(': ', ':', $css);
|
||||
|
||||
// Remove whitespace
|
||||
$css = str_replace(array("\r\n", "\r", "\n", "\t", ' ', ' ', ' '), '', $css);
|
||||
|
||||
// Remove space before and after specific characters
|
||||
$css = preg_replace('/\s*([{};,>+~])\s*/', '$1', $css);
|
||||
|
||||
// Remove last semicolon before closing brace
|
||||
$css = str_replace(';}', '}', $css);
|
||||
|
||||
// Trim
|
||||
$css = trim($css);
|
||||
|
||||
return $css;
|
||||
}
|
||||
|
||||
$files = [
|
||||
'Assets/Css/css-global-accessibility.css' => 'Assets/Css/css-global-accessibility.min.css',
|
||||
'Assets/Css/style.css' => 'Assets/Css/style.min.css',
|
||||
];
|
||||
|
||||
$base_path = __DIR__ . '/';
|
||||
|
||||
foreach ($files as $source => $dest) {
|
||||
$source_path = $base_path . $source;
|
||||
$dest_path = $base_path . $dest;
|
||||
|
||||
if (file_exists($source_path)) {
|
||||
$css = file_get_contents($source_path);
|
||||
$minified = minify_css($css);
|
||||
|
||||
file_put_contents($dest_path, $minified);
|
||||
|
||||
$original_size = strlen($css);
|
||||
$minified_size = strlen($minified);
|
||||
$savings = $original_size - $minified_size;
|
||||
$percent = round(($savings / $original_size) * 100, 1);
|
||||
|
||||
echo "Minified: $source\n";
|
||||
echo " Original: " . number_format($original_size) . " bytes\n";
|
||||
echo " Minified: " . number_format($minified_size) . " bytes\n";
|
||||
echo " Savings: " . number_format($savings) . " bytes ($percent%)\n\n";
|
||||
} else {
|
||||
echo "File not found: $source\n";
|
||||
}
|
||||
}
|
||||
|
||||
echo "Done!\n";
|
||||
Reference in New Issue
Block a user