Migration vers architecture Svelte + Kirby inspirée de design-to-pack
- Mise en place de Svelte 4 avec Vite pour le frontend (SPA) - Simplification des templates PHP (header/footer minimalistes) - Création de templates JSON pour API (home, about, expertise, portfolio, jouer, game, blog, article, project) - Ajout d'un controller de site pour définir genericData globalement - Structure des stores Svelte (page, navigation, locale, site) - Router avec navaid pour navigation SPA et interception des liens - Composants layout (Header, Footer, Cursor) et vues de base - Build Vite vers assets/dist/ (index.js/css) - Header PHP détecte assets/dist pour basculer dev/prod Architecture fonctionnelle de base établie, à améliorer et compléter. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
c4456d587c
commit
cbe89acb21
53 changed files with 3348 additions and 772 deletions
37
site/controllers/site.php
Normal file
37
site/controllers/site.php
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
<?php
|
||||
|
||||
return function ($page, $kirby, $site) {
|
||||
// Generic page data available in all templates
|
||||
$genericData = [
|
||||
'title' => $page->title()->value(),
|
||||
'url' => $page->url(),
|
||||
'uri' => $page->uri(),
|
||||
'template' => $page->intendedTemplate()->name(),
|
||||
'modified' => $page->modified('Y-m-d'),
|
||||
'site' => [
|
||||
'title' => $site->site_title()->value(),
|
||||
'url' => $site->url(),
|
||||
'logo' => $site->logo()->toFile()?->url(),
|
||||
'language' => $kirby->language()?->code() ?? 'fr',
|
||||
'languages' => $kirby->languages()->map(function($l) {
|
||||
return [
|
||||
'code' => $l->code(),
|
||||
'name' => $l->name()
|
||||
];
|
||||
})->values(),
|
||||
'navigation' => $site->main_navigation()->toStructure()->map(function($item) use ($kirby) {
|
||||
$linkedPage = $item->link()->toPages()->first();
|
||||
return [
|
||||
'label_fr' => $item->label_fr()->value(),
|
||||
'label_en' => $item->label_en()->value(),
|
||||
'url' => $linkedPage?->url(),
|
||||
'isActive' => $linkedPage?->isOpen() ?? false
|
||||
];
|
||||
})->values()
|
||||
]
|
||||
];
|
||||
|
||||
return [
|
||||
'genericData' => $genericData
|
||||
];
|
||||
};
|
||||
Loading…
Add table
Add a link
Reference in a new issue