Refactor: config Kirby scindée en menu.php + thumbs.php
All checks were successful
Deploy / Deploy to Production (push) Successful in 17s
All checks were successful
Deploy / Deploy to Production (push) Successful in 17s
- menu.php: helper menuItem() — détection active mutualisée - thumbs.php: helpers srcsetPreset/srcsetPair — widths définis une seule fois, paires normal/webp générées automatiquement sans duplication - config.php: réduit à l'essentiel via require Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
0ea4bfe539
commit
d42217fd20
3 changed files with 98 additions and 135 deletions
|
|
@ -1,141 +1,14 @@
|
|||
<?php
|
||||
|
||||
return [
|
||||
// Debug mode (désactiver en production)
|
||||
'debug' => true,
|
||||
|
||||
// Panel configuration
|
||||
'panel' => [
|
||||
'css' => 'assets/css/custom-panel.css',
|
||||
'theme' => 'dark',
|
||||
// Menu personnalisé du panel
|
||||
'menu' => [
|
||||
'site' => [
|
||||
'label' => 'Données partagées',
|
||||
'icon' => 'cog',
|
||||
'current' => function (string $current): bool {
|
||||
$path = Kirby\Cms\App::instance()->path();
|
||||
return Str::contains($path, '/site');
|
||||
}
|
||||
],
|
||||
'-', // Séparateur
|
||||
'home' => [
|
||||
'label' => 'Accueil',
|
||||
'icon' => 'home',
|
||||
'link' => 'pages/home',
|
||||
'current' => function (string $current): bool {
|
||||
$path = Kirby\Cms\App::instance()->path();
|
||||
return Str::contains($path, 'pages/home');
|
||||
}
|
||||
],
|
||||
'expertise' => [
|
||||
'label' => 'Expertise',
|
||||
'icon' => 'wand',
|
||||
'link' => 'pages/expertise',
|
||||
'current' => function (string $current): bool {
|
||||
$path = Kirby\Cms\App::instance()->path();
|
||||
return Str::contains($path, 'pages/expertise');
|
||||
}
|
||||
],
|
||||
'portfolio' => [
|
||||
'label' => 'Portfolio',
|
||||
'icon' => 'images',
|
||||
'link' => 'pages/portfolio',
|
||||
'current' => function (string $current): bool {
|
||||
$path = Kirby\Cms\App::instance()->path();
|
||||
return Str::contains($path, 'pages/portfolio');
|
||||
}
|
||||
],
|
||||
'jouer' => [
|
||||
'label' => 'Jouer',
|
||||
'icon' => 'play',
|
||||
'link' => 'pages/jouer',
|
||||
'current' => function (string $current): bool {
|
||||
$path = Kirby\Cms\App::instance()->path();
|
||||
return Str::contains($path, 'pages/jouer');
|
||||
}
|
||||
],
|
||||
'a-propos' => [
|
||||
'label' => 'À propos',
|
||||
'icon' => 'users',
|
||||
'link' => 'pages/a-propos',
|
||||
'current' => function (string $current): bool {
|
||||
$path = Kirby\Cms\App::instance()->path();
|
||||
return Str::contains($path, 'pages/a-propos');
|
||||
}
|
||||
],
|
||||
'blog' => [
|
||||
'label' => 'Blog',
|
||||
'icon' => 'text',
|
||||
'link' => 'pages/blog',
|
||||
'current' => function (string $current): bool {
|
||||
$path = Kirby\Cms\App::instance()->path();
|
||||
return Str::contains($path, 'pages/blog');
|
||||
}
|
||||
],
|
||||
'-', // Séparateur
|
||||
'users',
|
||||
'system'
|
||||
]
|
||||
],
|
||||
|
||||
// Langues
|
||||
'debug' => true,
|
||||
'languages' => true,
|
||||
|
||||
// Thumbs
|
||||
'thumbs' => [
|
||||
'quality' => 80,
|
||||
'srcsets' => [
|
||||
'default' => [
|
||||
'300w' => ['width' => 300],
|
||||
'600w' => ['width' => 600],
|
||||
'900w' => ['width' => 900],
|
||||
'1200w' => ['width' => 1200],
|
||||
],
|
||||
// Galerie portfolio — desktop ~15vw, mobile ~33vw (3 colonnes)
|
||||
// Widths couvrent 1x et 2x retina pour les deux breakpoints
|
||||
'gallery' => [
|
||||
'200w' => ['width' => 200],
|
||||
'300w' => ['width' => 300],
|
||||
'400w' => ['width' => 400],
|
||||
'600w' => ['width' => 600],
|
||||
'800w' => ['width' => 800],
|
||||
],
|
||||
'gallery-webp' => [
|
||||
'200w' => ['width' => 200, 'format' => 'webp'],
|
||||
'300w' => ['width' => 300, 'format' => 'webp'],
|
||||
'400w' => ['width' => 400, 'format' => 'webp'],
|
||||
'600w' => ['width' => 600, 'format' => 'webp'],
|
||||
'800w' => ['width' => 800, 'format' => 'webp'],
|
||||
],
|
||||
// Mockup portfolio — desktop ~25vw, mobile ~90vw
|
||||
'mockup' => [
|
||||
'350w' => ['width' => 350],
|
||||
'480w' => ['width' => 480],
|
||||
'700w' => ['width' => 700],
|
||||
'960w' => ['width' => 960],
|
||||
],
|
||||
'mockup-webp' => [
|
||||
'350w' => ['width' => 350, 'format' => 'webp'],
|
||||
'480w' => ['width' => 480, 'format' => 'webp'],
|
||||
'700w' => ['width' => 700, 'format' => 'webp'],
|
||||
'960w' => ['width' => 960, 'format' => 'webp'],
|
||||
],
|
||||
// Vignettes jeux — active: clamp(170px, 18.41vw, 355px), retina 2x → 710px
|
||||
'thumbnail' => [
|
||||
'170w' => ['width' => 170],
|
||||
'255w' => ['width' => 255],
|
||||
'355w' => ['width' => 355],
|
||||
'510w' => ['width' => 510],
|
||||
'710w' => ['width' => 710],
|
||||
],
|
||||
'thumbnail-webp' => [
|
||||
'170w' => ['width' => 170, 'format' => 'webp'],
|
||||
'255w' => ['width' => 255, 'format' => 'webp'],
|
||||
'355w' => ['width' => 355, 'format' => 'webp'],
|
||||
'510w' => ['width' => 510, 'format' => 'webp'],
|
||||
'710w' => ['width' => 710, 'format' => 'webp'],
|
||||
],
|
||||
],
|
||||
'panel' => [
|
||||
'css' => 'assets/css/custom-panel.css',
|
||||
'theme' => 'dark',
|
||||
'menu' => require __DIR__ . '/menu.php',
|
||||
],
|
||||
];
|
||||
|
||||
'thumbs' => require __DIR__ . '/thumbs.php',
|
||||
];
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue