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
|
|
@ -10,9 +10,6 @@
|
|||
<!-- Favicon -->
|
||||
<link rel="icon" type="image/png" href="<?= url('assets/favicon.png') ?>">
|
||||
|
||||
<!-- Styles -->
|
||||
<?= css('assets/css/main.css') ?>
|
||||
|
||||
<!-- Open Graph -->
|
||||
<meta property="og:title" content="<?= $page->meta_title()->or($page->title()) ?>">
|
||||
<meta property="og:description" content="<?= $page->meta_description()->or($site->site_description()) ?>">
|
||||
|
|
@ -21,53 +18,16 @@
|
|||
<?php if ($cover = $page->cover()->toFile()): ?>
|
||||
<meta property="og:image" content="<?= $cover->url() ?>">
|
||||
<?php endif ?>
|
||||
|
||||
<?php if (file_exists('assets/dist')): ?>
|
||||
<!-- Production: Load compiled assets -->
|
||||
<script type="module" src="<?= url('assets/dist/index.js') ?>" defer></script>
|
||||
<link rel="stylesheet" href="<?= url('assets/dist/index.css') ?>">
|
||||
<?php else: ?>
|
||||
<!-- Development: Load from Vite dev server -->
|
||||
<script type="module" src="http://localhost:5173/@vite/client" defer></script>
|
||||
<script type="module" src="http://localhost:5173/src/main.js" defer></script>
|
||||
<?php endif ?>
|
||||
</head>
|
||||
<body class="template-<?= $page->template() ?>">
|
||||
<!-- Header -->
|
||||
<header class="site-header">
|
||||
<div class="site-header__container">
|
||||
<!-- Logo -->
|
||||
<a href="<?= $site->url() ?>" class="site-header__logo">
|
||||
<?php if ($logo = $site->logo()->toFile()): ?>
|
||||
<img src="<?= $logo->url() ?>" alt="<?= $site->site_title() ?>">
|
||||
<?php else: ?>
|
||||
<span class="site-header__logo-text"><?= $site->site_title() ?></span>
|
||||
<?php endif ?>
|
||||
</a>
|
||||
|
||||
<!-- Navigation -->
|
||||
<nav class="site-header__nav">
|
||||
<ul class="site-nav">
|
||||
<?php foreach ($site->main_navigation()->toStructure() as $item): ?>
|
||||
<?php $linkedPage = $item->link()->toPages()->first() ?>
|
||||
<?php if ($linkedPage): ?>
|
||||
<li class="site-nav__item <?= $linkedPage->isOpen() ? 'is-active' : '' ?>">
|
||||
<a href="<?= $linkedPage->url() ?>">
|
||||
<?= $kirby->language()?->code() === 'en' ? $item->label_en() : $item->label_fr() ?>
|
||||
</a>
|
||||
</li>
|
||||
<?php endif ?>
|
||||
<?php endforeach ?>
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
<!-- Language Switcher -->
|
||||
<?php if ($kirby->languages()->count() > 1): ?>
|
||||
<div class="site-header__lang">
|
||||
<?php foreach ($kirby->languages() as $lang): ?>
|
||||
<a href="<?= $page->url($lang->code()) ?>"
|
||||
class="site-lang__link <?= $lang->code() === $kirby->language()?->code() ? 'is-active' : '' ?>">
|
||||
<?= strtoupper($lang->code()) ?>
|
||||
</a>
|
||||
<?php endforeach ?>
|
||||
</div>
|
||||
<?php endif ?>
|
||||
|
||||
<!-- Mobile Menu Toggle -->
|
||||
<button class="site-header__toggle" aria-label="Menu">
|
||||
<span></span>
|
||||
<span></span>
|
||||
<span></span>
|
||||
</button>
|
||||
</div>
|
||||
</header>
|
||||
<body>
|
||||
<div id="app"></div>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue