From 098b8b8e0d1ca43e70db68c25fd6dbc3c8d8b93c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Paul=20Nicou=C3=A9?= Date: Fri, 30 May 2025 17:15:12 +0200 Subject: [PATCH] Set up CV page --- assets/css/base/_base.scss | 1 + assets/css/pages/_cv.scss | 10 ++++++++ assets/css/pages/_index.scss | 1 + site/blueprints/pages/cv.yml | 6 +++++ site/blueprints/pages/error.yml | 6 ++++- site/blueprints/pages/home.yaml | 5 ---- site/blueprints/pages/home.yml | 8 ++++++ site/blueprints/pages/media-library.yml | 1 - site/config/config.php | 2 +- site/controllers/cv.php | 18 +++++++++++++ site/controllers/home.php | 27 ++++++++++++-------- site/controllers/site.php | 20 +++++++++++++++ site/templates/base.twig | 34 +++++++++++++++---------- site/templates/cv.twig | 9 +++++++ 14 files changed, 117 insertions(+), 31 deletions(-) create mode 100644 assets/css/pages/_cv.scss create mode 100644 site/blueprints/pages/cv.yml delete mode 100644 site/blueprints/pages/home.yaml create mode 100644 site/blueprints/pages/home.yml create mode 100644 site/controllers/cv.php create mode 100644 site/controllers/site.php create mode 100644 site/templates/cv.twig diff --git a/assets/css/base/_base.scss b/assets/css/base/_base.scss index 6f8813c..dafccca 100644 --- a/assets/css/base/_base.scss +++ b/assets/css/base/_base.scss @@ -61,6 +61,7 @@ body { padding: $sidebar-padding-y $sidebar-padding-x; .header__logo { + display: block; position: relative; width: $logo-portrait-width; aspect-ratio: calc(1 / 2); diff --git a/assets/css/pages/_cv.scss b/assets/css/pages/_cv.scss new file mode 100644 index 0000000..968721f --- /dev/null +++ b/assets/css/pages/_cv.scss @@ -0,0 +1,10 @@ +@use "../abstracts" as *; + +// -------------------------------------------------- +// CV STYLE +// -------------------------------------------------- + +.cv { + + .cv__content {} +} diff --git a/assets/css/pages/_index.scss b/assets/css/pages/_index.scss index 890ceaf..d3dce69 100644 --- a/assets/css/pages/_index.scss +++ b/assets/css/pages/_index.scss @@ -2,4 +2,5 @@ // PAGES (INDEX) // -------------------------------------------------- +@forward "cv"; @forward "home"; diff --git a/site/blueprints/pages/cv.yml b/site/blueprints/pages/cv.yml new file mode 100644 index 0000000..4b86cde --- /dev/null +++ b/site/blueprints/pages/cv.yml @@ -0,0 +1,6 @@ +title: CV +options: + changeStatus: false + duplicate: false +status: + listed: true diff --git a/site/blueprints/pages/error.yml b/site/blueprints/pages/error.yml index f3c8a00..9b6f2ce 100644 --- a/site/blueprints/pages/error.yml +++ b/site/blueprints/pages/error.yml @@ -2,4 +2,8 @@ title: en: Error fr: Erreur options: - read: false + changeStatus: false + duplicate: false + preview: false +status: + unlisted: true diff --git a/site/blueprints/pages/home.yaml b/site/blueprints/pages/home.yaml deleted file mode 100644 index c1e7f73..0000000 --- a/site/blueprints/pages/home.yaml +++ /dev/null @@ -1,5 +0,0 @@ -title: - en: Home - fr: Accueil -options: - read: false diff --git a/site/blueprints/pages/home.yml b/site/blueprints/pages/home.yml new file mode 100644 index 0000000..848de42 --- /dev/null +++ b/site/blueprints/pages/home.yml @@ -0,0 +1,8 @@ +title: + en: Home + fr: Accueil +options: + changeStatus: false + duplicate: false +status: + listed: true diff --git a/site/blueprints/pages/media-library.yml b/site/blueprints/pages/media-library.yml index 9417cde..496188e 100644 --- a/site/blueprints/pages/media-library.yml +++ b/site/blueprints/pages/media-library.yml @@ -6,7 +6,6 @@ options: duplicate: false preview: false status: - draft: true unlisted: true sections: images: sections/media-library_images diff --git a/site/config/config.php b/site/config/config.php index 255fa81..4356400 100644 --- a/site/config/config.php +++ b/site/config/config.php @@ -4,7 +4,7 @@ return [ // Kirby configuration settings 'panel' => [ 'css' => 'build/panel.css', - 'install' => true, + 'install' => false, 'language' => 'fr', 'menu' => [ 'site' => [ diff --git a/site/controllers/cv.php b/site/controllers/cv.php new file mode 100644 index 0000000..2f53e87 --- /dev/null +++ b/site/controllers/cv.php @@ -0,0 +1,18 @@ +controller('site' , compact('site')); + + // Get CV field content + $cv = $site->cv(); + + // Return merged arrays containing shared data and current controller data + return A::merge( + $shared, + compact( + 'cv', + ) + ); +}; diff --git a/site/controllers/home.php b/site/controllers/home.php index fe1e8d5..871ac49 100644 --- a/site/controllers/home.php +++ b/site/controllers/home.php @@ -1,17 +1,24 @@ controller('site' , compact('site')); + + // Get CV page URL and override logo href and aria-label attributes + $logoHref = page('cv')->url(); + $logoAriaLabel = "Go to {$site->title()}'s CV page"; // Get items from image gallery structure field $galleryItems = $site->image_gallery()->toStructure(); - // Get contact fields content - $email = $site->email(); - $instagram = $site->instagram(); - - return [ - 'galleryItems' => $galleryItems, - 'email' => $email, - 'instagram' => $instagram, - ]; + // Return merged arrays containing shared data and current controller data + return A::merge( + $shared, + compact( + 'galleryItems', + 'logoAriaLabel', + 'logoHref', + ) + ); }; diff --git a/site/controllers/site.php b/site/controllers/site.php new file mode 100644 index 0000000..8f40e3f --- /dev/null +++ b/site/controllers/site.php @@ -0,0 +1,20 @@ +url(); + $logoAriaLabel = "Go to {$site->title()}'s home page"; + + // Get contact fields content + $email = $site->email(); + $instagram = $site->instagram(); + + // Return data + return compact( + 'email', + 'instagram', + 'logoAriaLabel', + 'logoHref', + ); +}; diff --git a/site/templates/base.twig b/site/templates/base.twig index 7427c9b..51e1783 100644 --- a/site/templates/base.twig +++ b/site/templates/base.twig @@ -34,7 +34,11 @@ {% block header %}
- +
{% endblock %} @@ -43,18 +47,22 @@ {% block footer %} {% endblock %} diff --git a/site/templates/cv.twig b/site/templates/cv.twig new file mode 100644 index 0000000..1afe4e4 --- /dev/null +++ b/site/templates/cv.twig @@ -0,0 +1,9 @@ +{% extends "base.twig" %} + +{% block main %} +
+ +
{{ cv | raw }}
+ +
+{% endblock %}