From 4bb1ea6b1c354b2e0d0709beec9777bd3efc10e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Paul=20Nicou=C3=A9?= Date: Thu, 7 Jul 2022 17:02:05 +0200 Subject: [PATCH] Edit editorcongif file and indentation style --- .editorconfig | 19 +- assets/css/panel.min.css.map | 2 +- assets/css/panel.scss | 22 +- assets/css/partials/_animations.scss | 16 +- assets/css/partials/_fonts.scss | 8 +- assets/css/partials/_minireset.css | 28 +- assets/css/partials/_variables.scss | 128 +- assets/css/style.min.css.map | 2 +- assets/css/style.scss | 716 +++--- assets/favicon/xiao-wang-favicon.svg | 36 +- assets/favicon/xiao-wang.webmanifest | 28 +- assets/js/app.js | 330 +-- composer.json | 56 +- composer.lock | 2280 ++++++++--------- site/blueprints/files/artwork.yml | 62 +- site/blueprints/files/image.yml | 22 +- site/blueprints/pages/biography.yml | 32 +- site/blueprints/pages/error.yml | 6 +- site/blueprints/pages/gallery.yml | 12 +- site/blueprints/pages/home.yml | 32 +- .../biography_content_presentation.yml | 36 +- .../sections/gallery_content_artworks.yml | 8 +- .../sections/gallery_content_introduction.yml | 34 +- .../sections/generic_seo_metadata.yml | 82 +- .../home_content_background_image.yml | 8 +- .../sections/home_content_contact.yml | 30 +- .../blueprints/sections/home_seo_metadata.yml | 84 +- .../sections/site_content_galleries.yml | 12 +- .../sections/site_content_pages.yml | 14 +- site/blueprints/tabs/biography_content.yml | 6 +- site/blueprints/tabs/biography_seo.yml | 6 +- site/blueprints/tabs/gallery_content.yml | 8 +- site/blueprints/tabs/gallery_seo.yml | 6 +- site/blueprints/tabs/home_content.yml | 16 +- site/blueprints/tabs/home_seo.yml | 6 +- site/blueprints/tabs/site_analytics.yml | 24 +- site/blueprints/tabs/site_content.yml | 18 +- site/blueprints/users/admin.yml | 27 +- site/blueprints/users/editor.yml | 48 +- site/config/config.php | 74 +- site/snippets/favicon.twig | 1 - site/snippets/metadata.twig | 20 +- site/templates/base.twig | 246 +- site/templates/biography.twig | 16 +- site/templates/error.twig | 12 +- site/templates/gallery.twig | 76 +- site/templates/home.twig | 42 +- 47 files changed, 2392 insertions(+), 2405 deletions(-) diff --git a/.editorconfig b/.editorconfig index d2d7f0f..5c87491 100644 --- a/.editorconfig +++ b/.editorconfig @@ -1,22 +1,13 @@ -[*.{css,scss,less,js,json,ts,sass,html,hbs,mustache,phtml,html.twig,md,yml}] +root = true + +[*] charset = utf-8 -indent_style = space -indent_size = 2 +indent_style = tab +indent_size = 4 end_of_line = lf insert_final_newline = true trim_trailing_whitespace = true insert_final_newline = true [*.md] -indent_size = 4 trim_trailing_whitespace = false - -[site/templates/**.php] -indent_size = 2 - -[site/snippets/**.php] -indent_size = 2 - -[package.json,.{babelrc,editorconfig,eslintrc,lintstagedrc,stylelintrc}] -indent_style = space -indent_size = 2 diff --git a/assets/css/panel.min.css.map b/assets/css/panel.min.css.map index 5081926..ead4a06 100644 --- a/assets/css/panel.min.css.map +++ b/assets/css/panel.min.css.map @@ -1 +1 @@ -{"version":3,"sourceRoot":"","sources":["panel.scss"],"names":[],"mappings":"AAYY,oIAEI,aAUZ,gDACI","file":"panel.min.css"} \ No newline at end of file +{"version":3,"sourceRoot":"","sources":["panel.scss"],"names":[],"mappings":"AAYG,oIAEC,aAUH,gDACC","file":"panel.min.css"} \ No newline at end of file diff --git a/assets/css/panel.scss b/assets/css/panel.scss index 093f3c7..8f3c61b 100644 --- a/assets/css/panel.scss +++ b/assets/css/panel.scss @@ -6,23 +6,23 @@ .k-textarea-field { - .k-toolbar { + .k-toolbar { - .k-dropdown { + .k-dropdown { - .k-button:nth-of-type(2), - .k-button:nth-of-type(3) { - display: none; - } - } - } + .k-button:nth-of-type(2), + .k-button:nth-of-type(3) { + display: none; + } + } + } } // Visual image crop field properties .kirby-imagecrop-field { - .k-column:nth-of-type(2) { - display: none; - } + .k-column:nth-of-type(2) { + display: none; + } } diff --git a/assets/css/partials/_animations.scss b/assets/css/partials/_animations.scss index ec6a2c3..f82199e 100644 --- a/assets/css/partials/_animations.scss +++ b/assets/css/partials/_animations.scss @@ -3,7 +3,7 @@ // ---------------------------------------------------------------------------- @-webkit-keyframes expand-outline { - from { + from { outline-offset: 0; } to { @@ -21,10 +21,10 @@ } @-webkit-keyframes wave-up { - 0% { + 0% { top: 0; } - 60% { + 60% { top: -0.5rem; } 100% { @@ -36,7 +36,7 @@ 0% { top: 0; } - 60% { + 60% { top: -0.5rem; } 100% { @@ -45,10 +45,10 @@ } @-webkit-keyframes wave-down { - 0% { + 0% { bottom: 0; } - 60% { + 60% { bottom: -0.5rem; } 100% { @@ -57,10 +57,10 @@ } @keyframes wave-down { - 0% { + 0% { bottom: 0; } - 60% { + 60% { bottom: -0.5rem; } 100% { diff --git a/assets/css/partials/_fonts.scss b/assets/css/partials/_fonts.scss index 65061ea..0e6e30b 100644 --- a/assets/css/partials/_fonts.scss +++ b/assets/css/partials/_fonts.scss @@ -5,10 +5,10 @@ // Nunito @font-face { - font-family: 'Nunito'; - src: url(../fonts/nunito/Nunito-Regular.ttf) format('truetype'); - font-weight: 400; - font-style: normal; + font-family: 'Nunito'; + src: url(../fonts/nunito/Nunito-Regular.ttf) format('truetype'); + font-weight: 400; + font-style: normal; } @font-face { diff --git a/assets/css/partials/_minireset.css b/assets/css/partials/_minireset.css index 2023d39..da0d698 100644 --- a/assets/css/partials/_minireset.css +++ b/assets/css/partials/_minireset.css @@ -25,8 +25,8 @@ h3, h4, h5, h6 { - margin: 0; - padding: 0; + margin: 0; + padding: 0; } h1, @@ -35,44 +35,44 @@ h3, h4, h5, h6 { - font-size: 100%; - font-weight: normal; + font-size: 100%; + font-weight: normal; } ul { - list-style: none; + list-style: none; } button, input, select { - margin: 0; + margin: 0; } html { - box-sizing: border-box; + box-sizing: border-box; } *, *::before, *::after { - box-sizing: inherit; + box-sizing: inherit; } img, video { - height: auto; - max-width: 100%; + height: auto; + max-width: 100%; } iframe { - border: 0; + border: 0; } table { - border-collapse: collapse; - border-spacing: 0; + border-collapse: collapse; + border-spacing: 0; } td, th { - padding: 0; + padding: 0; } diff --git a/assets/css/partials/_variables.scss b/assets/css/partials/_variables.scss index 85ca4d8..5e49abf 100644 --- a/assets/css/partials/_variables.scss +++ b/assets/css/partials/_variables.scss @@ -4,59 +4,59 @@ :root { - // Fonts + // Fonts - --text-font-family: 'Nunito', Verdana, sans-serif; - --logo-font-family: 'Gloria Hallelujah', Verdana, sans-serif; - --regular-font-weight: 400; - --medium-font-weight: 500; - --semi-bold-font-weight: 600; - --bold-font-weight: 700; - --text-font-size: 1rem; - --caption-font-size: 0.9rem; - --footnote-font-size: 0.8rem; - --text-line-height: 1.4rem; - --h1-font-size: 1.8rem; - --h2-font-size: 1.4rem; - --h3-font-size: 1.2rem; + --text-font-family: 'Nunito', Verdana, sans-serif; + --logo-font-family: 'Gloria Hallelujah', Verdana, sans-serif; + --regular-font-weight: 400; + --medium-font-weight: 500; + --semi-bold-font-weight: 600; + --bold-font-weight: 700; + --text-font-size: 1rem; + --caption-font-size: 0.9rem; + --footnote-font-size: 0.8rem; + --text-line-height: 1.4rem; + --h1-font-size: 1.8rem; + --h2-font-size: 1.4rem; + --h3-font-size: 1.2rem; - // Dimensions + // Dimensions - --content-max-width: 140rem; - --text-max-width: 70rem; - --icon-size: 2.5rem; - --header-bar-vertical-padding: 1rem; - --header-bar-horizontal-padding: 2rem; - --header-bar-height: calc((var(--header-bar-vertical-padding) * 2) + var(--icon-size)); - --footer-bar-vertical-padding: 1rem; - --footer-bar-horizontal-padding: 2rem; - --footer-bar-height: calc((var(--footer-bar-vertical-padding) * 2) + var(--icon-size) + 1rem + var(--text-font-size)); - --generic-section-vertical-padding: 3rem; - --generic-section-horizontal-padding: 2rem; - --home-section-vertical-padding: 2rem; - --home-section-horizontal-padding: 2rem; - --home-section-min-height: calc(100vh - var(--header-bar-height) - var(--footer-bar-height)); - --home-nav-gap: 1rem; - --home-nav-item-size: 2rem; - --home-nav-item-translation: 0; - --home-nav-image-max-height: calc(100vh - var(--header-bar-height) - ((var(--generic-section-vertical-padding) + var(--home-nav-item-size) + var(--home-nav-gap)) * 2) - var(--footer-bar-height)); + --content-max-width: 140rem; + --text-max-width: 70rem; + --icon-size: 2.5rem; + --header-bar-vertical-padding: 1rem; + --header-bar-horizontal-padding: 2rem; + --header-bar-height: calc((var(--header-bar-vertical-padding) * 2) + var(--icon-size)); + --footer-bar-vertical-padding: 1rem; + --footer-bar-horizontal-padding: 2rem; + --footer-bar-height: calc((var(--footer-bar-vertical-padding) * 2) + var(--icon-size) + 1rem + var(--text-font-size)); + --generic-section-vertical-padding: 3rem; + --generic-section-horizontal-padding: 2rem; + --home-section-vertical-padding: 2rem; + --home-section-horizontal-padding: 2rem; + --home-section-min-height: calc(100vh - var(--header-bar-height) - var(--footer-bar-height)); + --home-nav-gap: 1rem; + --home-nav-item-size: 2rem; + --home-nav-item-translation: 0; + --home-nav-image-max-height: calc(100vh - var(--header-bar-height) - ((var(--generic-section-vertical-padding) + var(--home-nav-item-size) + var(--home-nav-gap)) * 2) - var(--footer-bar-height)); - // Colors + // Colors - --black: #000; - --transparent-black: rgba(0, 0, 0, 0.8); - --jet: #333333; - --transparent-jet: rgba(51, 51, 51, 0.8); - --granite-gray: #666666; - --spanish-gray: #999999; - --light-gray: #cccccc; - --white: #fff; - --transparent-white: rgba(255, 255, 255, 0.8); + --black: #000; + --transparent-black: rgba(0, 0, 0, 0.8); + --jet: #333333; + --transparent-jet: rgba(51, 51, 51, 0.8); + --granite-gray: #666666; + --spanish-gray: #999999; + --light-gray: #cccccc; + --white: #fff; + --transparent-white: rgba(255, 255, 255, 0.8); - // Plyr (audio player) + // Plyr (audio player) - --plyr-color-main: var(--transparent-jet); - --plyr-tab-focus-color: var(--white); + --plyr-color-main: var(--transparent-jet); + --plyr-tab-focus-color: var(--white); } // Media queries @@ -66,26 +66,26 @@ $desktop-media-query: 62rem; @media screen and (min-width: $tablet-media-query) { - :root { + :root { - // Fonts + // Fonts - --text-font-size: 1.2rem; - --caption-font-size: 1.1rem; - --footnote-font-size: 1rem; - --h1-font-size: 2rem; - --h2-font-size: 1.6rem; - --h3-font-size: 1.4rem; + --text-font-size: 1.2rem; + --caption-font-size: 1.1rem; + --footnote-font-size: 1rem; + --h1-font-size: 2rem; + --h2-font-size: 1.6rem; + --h3-font-size: 1.4rem; - // Dimensions + // Dimensions - --icon-size: 3rem; - --header-bar-vertical-padding: 2rem; - --header-bar-horizontal-padding: 4rem; - --footer-bar-vertical-padding: 2rem; - --footer-bar-horizontal-padding: 4rem; - --footer-bar-height: calc((var(--footer-bar-vertical-padding) * 2) + var(--icon-size)); - --generic-section-horizontal-padding: 4rem; - --home-section-horizontal-padding: 4rem; - } + --icon-size: 3rem; + --header-bar-vertical-padding: 2rem; + --header-bar-horizontal-padding: 4rem; + --footer-bar-vertical-padding: 2rem; + --footer-bar-horizontal-padding: 4rem; + --footer-bar-height: calc((var(--footer-bar-vertical-padding) * 2) + var(--icon-size)); + --generic-section-horizontal-padding: 4rem; + --home-section-horizontal-padding: 4rem; + } } diff --git a/assets/css/style.min.css.map b/assets/css/style.min.css.map index 27d468f..a464a82 100644 --- a/assets/css/style.min.css.map +++ b/assets/css/style.min.css.map @@ -1 +1 @@ -{"version":3,"sourceRoot":"","sources":["partials/_minireset.css","partials/_fonts.scss","partials/_variables.scss","partials/_animations.scss","style.scss"],"names":[],"mappings":"CAIA,yGAuBI,SACA,UAGJ,kBAMI,eACA,mBAGJ,GACI,gBAGJ,oBAGI,SAGJ,KACI,sBAGJ,qBACI,mBAGJ,UAEI,YACA,eAGJ,OACI,SAGJ,MACI,yBACA,iBAGJ,MAEI,UCtEJ,WACI,qBACA,+DACA,gBACA,kBAGJ,WACC,qBACA,8DACA,gBACA,kBAGD,WACC,qBACA,8DACA,gBACA,kBAGD,WACC,qBACA,oEACA,gBACA,kBAGD,WACC,qBACA,gEACA,gBACA,kBAGD,WACC,qBACA,sEACA,gBACA,kBAGD,WACC,qBACA,4DACA,gBACA,kBAGD,WACC,qBACA,kEACA,gBACA,kBAKD,WACC,gCACA,oFACA,gBACA,kBChED,MAII,kDACA,6DACA,2BACA,0BACA,6BACA,wBACA,uBACA,4BACA,6BACA,2BACA,uBACA,uBACA,uBAIA,4BACA,wBACA,oBACA,oCACA,sCACA,uFACA,oCACA,sCACA,sHACA,yCACA,2CACA,sCACA,wCACA,6FACA,qBACA,2BACA,+BACA,mMAIA,cACA,wCACA,eACA,yCACA,wBACA,wBACA,sBACA,cACA,8CAIA,0CACA,qCAQJ,qCAEI,MAII,yBACA,4BACA,2BACA,qBACA,uBACA,uBAIA,kBACA,oCACA,sCACA,oCACA,sCACA,uFACA,2CACA,yCCpFR,kCACI,KACF,iBAED,GACC,oBAIF,0BACC,KACC,iBAED,GACC,oBAIF,2BACI,GACF,MAEE,IACF,YAED,KACC,OAIF,mBACC,GACC,MAEE,IACF,YAED,KACC,OAIF,6BACI,GACF,SAEE,IACF,eAED,KACC,UAIF,qBACI,GACF,SAEE,IACF,eAED,KACC,UCvDF,KACI,oCACA,gCACA,kCACA,iBACA,8BAGJ,SAGI,mBAGJ,GACI,oCACA,8BACA,gCAGJ,GACI,oCACA,8BACA,gCACA,kBAGJ,GACI,oCACA,8BACA,gCACA,qBAGJ,EACI,mBACA,oCAGJ,OACI,oCAGJ,GACI,kBAKJ,EACI,iBACA,0BACH,kBACG,2CACA,sCACA,mCAEA,yBAGI,mBAGP,gBACC,gCACA,mBACA,gDACG,2CAML,KACI,iBACA,kBACA,iBACA,aACA,KACI,+DAMR,yBACC,kBAGD,OACI,iBAGJ,KACI,eAGJ,OACI,iBASJ,YACC,WACG,gCACA,YACH,iKACA,0CACA,iDACG,oBACA,oBACA,aACA,yBACA,sBACA,8BACA,yBACA,sBACA,mBACH,UACA,mBACC,yDAED,cACC,yDAED,WACC,yDAGD,mBACC,eACA,sCACA,uFACA,sCACA,0CACA,+CACA,0CACA,uCAGD,qBACC,uDACA,mDACA,+CAIF,kBACI,kBACH,+CACA,0CACA,uCACA,8BACG,0BACH,sBAEA,yBACC,6BACA,yBACA,qBAIF,uBACI,qBAGJ,iBACC,kBACA,UAGD,wBACC,kBACA,UACA,uBACA,wBACA,UACA,gBACA,YACA,kBACA,4BACA,eACA,oBACA,oBACA,aACA,yBACA,sBACA,mBACA,mBACC,+DAED,cACC,+DAED,WACC,+DAGD,4BACC,WACA,YACA,YACA,cACM,mBACL,sDAEK,cACL,sDAEK,WACL,sDAIF,yCACC,kBACA,UAGD,yCACC,kBACA,UAGE,6DAEF,6BACA,yBACA,qBAGD,sCACC,8BAEA,0CACC,oCACG,gCACA,4BAGJ,uDACC,UAGD,uDACC,UAKH,sBACC,eACA,UACA,MACA,WACA,gBACA,gBACA,aACA,8GACA,0CACA,mBACA,kBACA,gBACA,+CACA,0CACA,uCAIC,4BACC,yCAGD,4BACC,kBACA,yCAGD,6BACC,eACA,mCACA,+BACA,2BACA,+CACA,0CACA,uCAEA,iEAEC,wBAGD,+BACC,qBAEA,gHAGC,mBAGD,6CACC,gCAMJ,oDACC,wBAEA,sDACC,mBAIF,+BACC,oCACA,gCACA,4BAKE,2DACC,gCACA,4BACA,wBACA,+CACA,0CACA,uCAND,2DACC,gCACA,4BACA,wBACA,+CACA,0CACA,uCAND,2DACC,gCACA,4BACA,wBACA,+CACA,0CACA,uCAND,2DACC,gCACA,4BACA,wBACA,+CACA,0CACA,uCAND,2DACC,gCACA,4BACA,wBACA,+CACA,0CACA,uCAND,2DACC,gCACA,4BACA,wBACA,gDACA,2CACA,wCAND,2DACC,gCACA,4BACA,wBACA,gDACA,2CACA,wCAND,2DACC,gCACA,4BACA,wBACA,gDACA,2CACA,wCAND,2DACC,gCACA,4BACA,wBACA,gDACA,2CACA,wCAND,4DACC,gCACA,4BACA,wBACA,gDACA,2CACA,wCAND,4DACC,gCACA,4BACA,wBACA,gDACA,2CACA,wCAND,4DACC,gCACA,4BACA,wBACA,gDACA,2CACA,wCAND,4DACC,gCACA,4BACA,wBACA,gDACA,2CACA,wCAND,4DACC,gCACA,4BACA,wBACA,gDACA,2CACA,wCAND,4DACC,gCACA,4BACA,wBACA,gDACA,2CACA,wCAND,4DACC,gCACA,4BACA,wBACA,gDACA,2CACA,wCAND,4DACC,gCACA,4BACA,wBACA,gDACA,2CACA,wCAND,4DACC,gCACA,4BACA,wBACA,gDACA,2CACA,wCAND,4DACC,gCACA,4BACA,wBACA,gDACA,2CACA,wCAND,4DACC,gCACA,4BACA,wBACA,gDACA,2CACA,wCAOL,yBACC,eACA,UACA,MACA,OACA,YACA,aACA,8BACA,UACA,oBACA,oBACA,6CACA,wCACA,qCAEA,kCACC,WACA,oBACA,eAIF,qCAEC,sBACC,gBAIF,qCAEC,sBACC,gBAUF,cACI,mCACA,0CACA,YACA,oFACA,oBACA,oBACA,aACA,wBACA,qBACA,uBACA,yBACA,sBACA,mBAGJ,WACI,YACA,iBACA,aACA,KACI,iMAIJ,4BACA,wBACA,cAGJ,iBACI,iBAEA,qBACI,gBACA,2BACA,iBACA,4CAMJ,sCACI,mBACA,mBACA,kBACI,4DAEJ,cACI,4DAEJ,UACI,4DAIR,sCACI,oBACA,qBACA,kBACI,2DAEJ,cACI,2DAEJ,UACI,2DAOR,sCACI,mBACA,mBACA,kBACI,4DAEJ,cACI,4DAEJ,UACI,4DAIR,sCACI,oBACA,qBACA,kBACI,2DAEJ,cACI,2DAEJ,UACI,2DAIR,sCACI,iBACA,wBAMJ,sCACI,mBACA,mBACA,kBACI,4DAEJ,cACI,4DAEJ,UACI,4DAIR,sCACI,oBACA,qBACA,kBACI,2DAEJ,cACI,2DAEJ,UACI,2DAIR,sCACI,sBACA,qBACA,kBACI,sEAEJ,cACI,sEAEJ,UACI,sEAIR,sCACI,uBACA,uBACA,kBACI,uEAEJ,cACI,uEAEJ,UACI,uEAKZ,gBACI,mBACA,8BACA,qBACA,UACA,6CACA,wCACA,qCAEA,oBACI,UACA,6CACA,wCACA,qCAIR,yBACI,UAEA,6BACI,UAIR,2BACI,yCACA,oCAGJ,6BACI,2CACA,sCAKJ,oCAEI,mCACA,YACA,0FAGJ,kCAEI,kBAGJ,gDAEI,gCACA,YAEA,gFACI,kBAKA,kHAEI,kBAIR,sDACF,oCAEM,sHAEI,kBAGV,4DACC,kBACA,mBAGD,kEACC,kBAGD,0EACC,YACA,kBACA,MACA,OAKH,kBACI,cACA,2BACA,YAEA,oCACI,wBAGJ,oEAEI,cACA,gBAKA,+CACI,mBAIR,6BACI,sBACA,oBACA,wBACA,mCACA,kBACA,oCAIR,qCAIQ,oCACI,yBAOZ,eACI,mCACA,YACA,0FAGJ,cACI,kBAGJ,gBACI,gCACA,YACA,kBAGJ,eACI,kBACA,kBAEA,iBACI,qBACA,cACA,mBACA,mBACA,4BACA,qBACA,yCACN,+CACA,0CACA,uCAEM,sEAGI,qBAWZ,YACI,mCACA,gCACA,YACA,gFACA,oBACA,oBACA,aACA,4BACA,6BACA,0BACA,sBACA,yBACA,sBACA,mBAGJ,oBACI,oBACA,oBACA,aACA,yBACA,sBACA,mBAEA,sBACF,uBACA,wBACA,kBACA,4BACM,oBACA,oBACA,aACA,wBACA,qBACA,uBACA,yBACA,sBACA,mBACN,+CACA,0CACA,uCAEM,wBACI,kBAGJ,0BACL,kBAID,qFAGC,qBAMD,uDACC,UACA,WAMD,mDACC,UACA,WAKH,uBACI,oCACA,kBAGJ,qCAEI,YACI,8BACA,6BACA,uBACA,mBACA,yBACA,sBACA,8BACA,sBACA,mBACA,qBAGJ,oBACI,QAGJ,uBACI,QACA","file":"style.min.css"} \ No newline at end of file +{"version":3,"sourceRoot":"","sources":["partials/_minireset.css","partials/_fonts.scss","partials/_variables.scss","partials/_animations.scss","style.scss"],"names":[],"mappings":"CAIA,yGAuBC,SACA,UAGD,kBAMC,eACA,mBAGD,GACC,gBAGD,oBAGC,SAGD,KACC,sBAGD,qBACC,mBAGD,UAEC,YACA,eAGD,OACC,SAGD,MACC,yBACA,iBAGD,MAEC,UCtED,WACC,qBACA,+DACA,gBACA,kBAGD,WACC,qBACA,8DACA,gBACA,kBAGD,WACC,qBACA,8DACA,gBACA,kBAGD,WACC,qBACA,oEACA,gBACA,kBAGD,WACC,qBACA,gEACA,gBACA,kBAGD,WACC,qBACA,sEACA,gBACA,kBAGD,WACC,qBACA,4DACA,gBACA,kBAGD,WACC,qBACA,kEACA,gBACA,kBAKD,WACC,gCACA,oFACA,gBACA,kBChED,MAIC,kDACA,6DACA,2BACA,0BACA,6BACA,wBACA,uBACA,4BACA,6BACA,2BACA,uBACA,uBACA,uBAIA,4BACA,wBACA,oBACA,oCACA,sCACA,uFACA,oCACA,sCACA,sHACA,yCACA,2CACA,sCACA,wCACA,6FACA,qBACA,2BACA,+BACA,mMAIA,cACA,wCACA,eACA,yCACA,wBACA,wBACA,sBACA,cACA,8CAIA,0CACA,qCAQD,qCAEC,MAIC,yBACA,4BACA,2BACA,qBACA,uBACA,uBAIA,kBACA,oCACA,sCACA,oCACA,sCACA,uFACA,2CACA,yCCpFF,kCACC,KACC,iBAED,GACC,oBAIF,0BACC,KACC,iBAED,GACC,oBAIF,2BACC,GACC,MAED,IACC,YAED,KACC,OAIF,mBACC,GACC,MAED,IACC,YAED,KACC,OAIF,6BACC,GACC,SAED,IACC,eAED,KACC,UAIF,qBACC,GACC,SAED,IACC,eAED,KACC,UCvDF,KACC,oCACA,gCACA,kCACA,iBACA,8BAGD,SAGC,mBAGD,GACC,oCACA,8BACA,gCAGD,GACC,oCACA,8BACA,gCACA,kBAGD,GACC,oCACA,8BACA,gCACA,qBAGD,EACC,mBACA,oCAGD,OACC,oCAGD,GACC,kBAKD,EACC,iBACA,0BACA,kBACA,2CACA,sCACA,mCAEA,yBAGC,mBAGD,gBACC,gCACA,mBACA,gDACA,2CAMF,KACC,iBACA,kBACA,iBACA,aACA,KACC,+DAMF,yBACC,kBAGD,OACC,iBAGD,KACC,eAGD,OACC,iBASD,YACC,WACA,gCACA,YACA,iKACA,0CACA,iDACA,oBACA,oBACA,aACA,yBACA,sBACA,8BACA,yBACA,sBACA,mBACA,UACA,mBACC,yDAED,cACC,yDAED,WACC,yDAGD,mBACC,eACA,sCACA,uFACA,sCACA,0CACA,+CACA,0CACA,uCAGD,qBACC,uDACA,mDACA,+CAIF,kBACC,kBACA,+CACA,0CACA,uCACA,8BACA,0BACA,sBAEA,yBACC,6BACA,yBACA,qBAIF,uBACC,qBAGD,iBACC,kBACA,UAGD,wBACC,kBACA,UACA,uBACA,wBACA,UACA,gBACA,YACA,kBACA,4BACA,eACA,oBACA,oBACA,aACA,yBACA,sBACA,mBACA,mBACC,+DAED,cACC,+DAED,WACC,+DAGD,4BACC,WACA,YACA,YACA,cACA,mBACC,sDAED,cACC,sDAED,WACC,sDAIF,yCACC,kBACA,UAGD,yCACC,kBACA,UAGD,6DAEC,6BACA,yBACA,qBAGD,sCACC,8BAEA,0CACC,oCACA,gCACA,4BAGD,uDACC,UAGD,uDACC,UAKH,sBACC,eACA,UACA,MACA,WACA,gBACA,gBACA,aACA,8GACA,0CACA,mBACA,kBACA,gBACA,+CACA,0CACA,uCAIC,4BACC,yCAGD,4BACC,kBACA,yCAGD,6BACC,eACA,mCACA,+BACA,2BACA,+CACA,0CACA,uCAEA,iEAEC,wBAGD,+BACC,qBAEA,gHAGC,mBAGD,6CACC,gCAMJ,oDACC,wBAEA,sDACC,mBAIF,+BACC,oCACA,gCACA,4BAKE,2DACC,gCACA,4BACA,wBACA,+CACA,0CACA,uCAND,2DACC,gCACA,4BACA,wBACA,+CACA,0CACA,uCAND,2DACC,gCACA,4BACA,wBACA,+CACA,0CACA,uCAND,2DACC,gCACA,4BACA,wBACA,+CACA,0CACA,uCAND,2DACC,gCACA,4BACA,wBACA,+CACA,0CACA,uCAND,2DACC,gCACA,4BACA,wBACA,gDACA,2CACA,wCAND,2DACC,gCACA,4BACA,wBACA,gDACA,2CACA,wCAND,2DACC,gCACA,4BACA,wBACA,gDACA,2CACA,wCAND,2DACC,gCACA,4BACA,wBACA,gDACA,2CACA,wCAND,4DACC,gCACA,4BACA,wBACA,gDACA,2CACA,wCAND,4DACC,gCACA,4BACA,wBACA,gDACA,2CACA,wCAND,4DACC,gCACA,4BACA,wBACA,gDACA,2CACA,wCAND,4DACC,gCACA,4BACA,wBACA,gDACA,2CACA,wCAND,4DACC,gCACA,4BACA,wBACA,gDACA,2CACA,wCAND,4DACC,gCACA,4BACA,wBACA,gDACA,2CACA,wCAND,4DACC,gCACA,4BACA,wBACA,gDACA,2CACA,wCAND,4DACC,gCACA,4BACA,wBACA,gDACA,2CACA,wCAND,4DACC,gCACA,4BACA,wBACA,gDACA,2CACA,wCAND,4DACC,gCACA,4BACA,wBACA,gDACA,2CACA,wCAND,4DACC,gCACA,4BACA,wBACA,gDACA,2CACA,wCAOL,yBACC,eACA,UACA,MACA,OACA,YACA,aACA,8BACA,UACA,oBACA,oBACA,6CACA,wCACA,qCAEA,kCACC,WACA,oBACA,eAIF,qCAEC,sBACC,gBAIF,qCAEC,sBACC,gBAUF,cACC,mCACA,0CACA,YACA,oFACA,oBACA,oBACA,aACA,wBACA,qBACA,uBACA,yBACA,sBACA,mBAGD,WACC,YACA,iBACA,aACA,KACC,iMAID,4BACA,wBACA,cAGD,iBACC,iBAEA,qBACC,gBACA,2BACA,iBACA,4CAMD,sCACC,mBACA,mBACA,kBACC,4DAED,cACC,4DAED,UACC,4DAIF,sCACC,oBACA,qBACA,kBACC,2DAED,cACC,2DAED,UACC,2DAOF,sCACC,mBACA,mBACA,kBACC,4DAED,cACC,4DAED,UACC,4DAIF,sCACC,oBACA,qBACA,kBACC,2DAED,cACC,2DAED,UACC,2DAIF,sCACC,iBACA,wBAMD,sCACC,mBACA,mBACA,kBACC,4DAED,cACC,4DAED,UACC,4DAIF,sCACC,oBACA,qBACA,kBACC,2DAED,cACC,2DAED,UACC,2DAIF,sCACC,sBACA,qBACA,kBACC,sEAED,cACC,sEAED,UACC,sEAIF,sCACC,uBACA,uBACA,kBACC,uEAED,cACC,uEAED,UACC,uEAKH,gBACC,mBACA,8BACA,qBACA,UACA,6CACA,wCACA,qCAEA,oBACC,UACA,6CACA,wCACA,qCAIF,yBACC,UAEA,6BACC,UAIF,2BACC,yCACA,oCAGD,6BACC,2CACA,sCAKD,oCAEC,mCACA,YACA,0FAGD,kCAEC,kBAGD,gDAEC,gCACA,YAEA,gFACC,kBAKA,kHAEC,kBAIF,sDACC,oCAEA,sHAEC,kBAGD,4DACC,kBACA,mBAGD,kEACC,kBAGD,0EACC,YACA,kBACA,MACA,OAKH,kBACC,cACA,2BACA,YAEA,oCACC,wBAGD,oEAEC,cACA,gBAKA,+CACC,mBAIF,6BACC,sBACA,oBACA,wBACA,mCACA,kBACA,oCAIF,qCAIE,oCACC,yBAOH,eACC,mCACA,YACA,0FAGD,cACC,kBAGD,gBACC,gCACA,YACA,kBAGD,eACC,kBACA,kBAEA,iBACC,qBACA,cACA,mBACA,mBACA,4BACA,qBACA,yCACA,+CACA,0CACA,uCAEA,sEAGC,qBAWH,YACC,mCACA,gCACA,YACA,gFACA,oBACA,oBACA,aACA,4BACA,6BACA,0BACA,sBACA,yBACA,sBACA,mBAGD,oBACC,oBACA,oBACA,aACA,yBACA,sBACA,mBAEA,sBACC,uBACA,wBACA,kBACA,4BACA,oBACA,oBACA,aACA,wBACA,qBACA,uBACA,yBACA,sBACA,mBACA,+CACA,0CACA,uCAEA,wBACC,kBAGD,0BACC,kBAID,qFAGC,qBAMD,uDACC,UACA,WAMD,mDACC,UACA,WAKH,uBACC,oCACA,kBAGD,qCAEC,YACC,8BACA,6BACA,uBACA,mBACA,yBACA,sBACA,8BACA,sBACA,mBACA,qBAGD,oBACC,QAGD,uBACC,QACA","file":"style.min.css"} \ No newline at end of file diff --git a/assets/css/style.scss b/assets/css/style.scss index 517705b..f4a0891 100644 --- a/assets/css/style.scss +++ b/assets/css/style.scss @@ -10,88 +10,88 @@ // Fonts and colors body { - font-family: var(--text-font-family); - font-size: var(--text-font-size); - line-height: var(--text-font-size); - color: var(--jet); - background-color: var(--white); + font-family: var(--text-font-family); + font-size: var(--text-font-size); + line-height: var(--text-font-size); + color: var(--jet); + background-color: var(--white); } h1, h2, h3 { - color: var(--black); + color: var(--black); } h1 { - font-family: var(--logo-font-family); - font-size: var(--h1-font-size); - line-height: var(--h1-font-size); + font-family: var(--logo-font-family); + font-size: var(--h1-font-size); + line-height: var(--h1-font-size); } h2 { - font-family: var(--text-font-family); - font-size: var(--h2-font-size); - line-height: var(--h2-font-size); - margin: 0 0 4rem 0; + font-family: var(--text-font-family); + font-size: var(--h2-font-size); + line-height: var(--h2-font-size); + margin: 0 0 4rem 0; } h3 { - font-family: var(--text-font-family); - font-size: var(--h3-font-size); - line-height: var(--h3-font-size); - margin: 2rem 0 1rem 0; + font-family: var(--text-font-family); + font-size: var(--h3-font-size); + line-height: var(--h3-font-size); + margin: 2rem 0 1rem 0; } p { - text-align: justify; - line-height: var(--text-line-height); + text-align: justify; + line-height: var(--text-line-height); } strong { - font-weight: var(--bold-font-weight); + font-weight: var(--bold-font-weight); } em { - font-style: italic; + font-style: italic; } // Link style a { - color: var(--jet); - text-decoration: underline; + color: var(--jet); + text-decoration: underline; border-radius: 2px; - -webkit-transition: color 200ms ease-in-out; - -o-transition: color 200ms ease-in-out; - transition: color 200ms ease-in-out; + -webkit-transition: color 200ms ease-in-out; + -o-transition: color 200ms ease-in-out; + transition: color 200ms ease-in-out; - &:hover, - &:focus, - &:active { - color: var(--black); - } + &:hover, + &:focus, + &:active { + color: var(--black); + } &:focus-visible { outline: 1px dashed var(--black); outline-offset: 2px; -webkit-animation: expand-outline 200ms ease-out; - animation: expand-outline 200ms ease-in-out; + animation: expand-outline 200ms ease-in-out; } } // General grid layout body { - min-height: 100vh; - overflow-x: hidden; - display: -ms-grid; - display: grid; - grid: - 'header' var(--header-bar-height) - 'main' 1fr - 'footer' auto - / 1fr; + min-height: 100vh; + overflow-x: hidden; + display: -ms-grid; + display: grid; + grid: + 'header' var(--header-bar-height) + 'main' 1fr + 'footer' auto + / 1fr; } .body--hidden-overflow-y { @@ -99,15 +99,15 @@ body { } header { - grid-area: header; + grid-area: header; } main { - grid-area: main; + grid-area: main; } footer { - grid-area: footer; + grid-area: footer; } // ---------------------------------------------------------------------------- @@ -118,20 +118,20 @@ footer { .header-bar { width: 100%; - height: var(--header-bar-height); - margin: auto; + height: var(--header-bar-height); + margin: auto; padding: var(--header-bar-vertical-padding) Max(var(--header-bar-horizontal-padding), calc((100vw - var(--content-max-width)) / 2 + var(--header-bar-horizontal-padding))); background-color: var(--transparent-white); border-bottom: 1px solid var(--transparent-white); - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-pack: justify; - -ms-flex-pack: justify; - justify-content: space-between; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-pack: justify; + -ms-flex-pack: justify; + justify-content: space-between; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; z-index: 1; -webkit-transition: height 400ms ease-in-out, @@ -162,12 +162,12 @@ footer { } .header-bar__logo { - width: max-content; + width: max-content; -webkit-transition: transform 400ms ease-in-out; -o-transition: transform 400ms ease-in-out; transition: transform 400ms ease-in-out; -webkit-transform-origin: left; - -ms-transform-origin: left; + -ms-transform-origin: left; transform-origin: left; &--small { @@ -178,7 +178,7 @@ footer { } .header-bar__logo-link { - text-decoration: none; + text-decoration: none; } .header-bar__nav { @@ -218,13 +218,13 @@ footer { height: 100%; padding: 10%; flex-shrink: 0; - -webkit-transition: + -webkit-transition: opacity 400ms ease-in-out, transform 400ms ease-in-out; - -o-transition: + -o-transition: opacity 400ms ease-in-out, transform 400ms ease-in-out; - transition: + transition: opacity 400ms ease-in-out, transform 400ms ease-in-out; } @@ -239,20 +239,20 @@ footer { opacity: 0; } - &:hover, - &:active { + &:hover, + &:active { -webkit-transform: scale(1.1); -ms-transform: scale(1.1); transform: scale(1.1); - } + } &--custom-focus { background-color: var(--white); svg { -webkit-transform: translateX(-100%); - -ms-transform: translateX(-100%); - transform: translateX(-100%); + -ms-transform: translateX(-100%); + transform: translateX(-100%); } svg:nth-child(1) { @@ -395,245 +395,245 @@ footer { // Home section .home-section { - max-width: var(--content-max-width); - min-height: var(--home-section-min-height); - margin: auto; - padding: var(--home-section-vertical-padding) var(--home-section-horizontal-padding); - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; + max-width: var(--content-max-width); + min-height: var(--home-section-min-height); + margin: auto; + padding: var(--home-section-vertical-padding) var(--home-section-horizontal-padding); + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; } .home__nav { - height: 100%; - display: -ms-grid; - display: grid; - grid: - 'top-left top top-right' var(--home-nav-item-size) - 'left center right' auto - 'bottom-left bottom bottom-right' var(--home-nav-item-size) - / var(--home-nav-item-size) auto var(--home-nav-item-size); - place-content: center center; - gap: var(--home-nav-gap); - line-height: 0; + height: 100%; + display: -ms-grid; + display: grid; + grid: + 'top-left top top-right' var(--home-nav-item-size) + 'left center right' auto + 'bottom-left bottom bottom-right' var(--home-nav-item-size) + / var(--home-nav-item-size) auto var(--home-nav-item-size); + place-content: center center; + gap: var(--home-nav-gap); + line-height: 0; } .home__nav-image { - grid-area: center; + grid-area: center; - img { - min-width: 12rem; - max-width: Min(100%, 2500px); - min-height: 12rem; - max-height: var(--home-nav-image-max-height); - } + img { + min-width: 12rem; + max-width: Min(100%, 2500px); + min-height: 12rem; + max-height: var(--home-nav-image-max-height); + } } .home__nav--2-items { - .home__nav-item-1 { - grid-area: top-left; - place-self: end end; - -webkit-transform: - rotate(-45deg) - translateY(var(--home-nav-item-translation)); - -ms-transform: - rotate(-45deg) - translateY(var(--home-nav-item-translation)); - transform: - rotate(-45deg) - translateY(var(--home-nav-item-translation)); - } + .home__nav-item-1 { + grid-area: top-left; + place-self: end end; + -webkit-transform: + rotate(-45deg) + translateY(var(--home-nav-item-translation)); + -ms-transform: + rotate(-45deg) + translateY(var(--home-nav-item-translation)); + transform: + rotate(-45deg) + translateY(var(--home-nav-item-translation)); + } - .home__nav-item-2 { - grid-area: top-right; - place-self: end start; - -webkit-transform: - rotate(45deg) - translateY(var(--home-nav-item-translation)); - -ms-transform: - rotate(45deg) - translateY(var(--home-nav-item-translation)); - transform: - rotate(45deg) - translateY(var(--home-nav-item-translation)); - } + .home__nav-item-2 { + grid-area: top-right; + place-self: end start; + -webkit-transform: + rotate(45deg) + translateY(var(--home-nav-item-translation)); + -ms-transform: + rotate(45deg) + translateY(var(--home-nav-item-translation)); + transform: + rotate(45deg) + translateY(var(--home-nav-item-translation)); + } } .home__nav--3-items { - .home__nav-item-1 { - grid-area: top-left; - place-self: end end; - -webkit-transform: - rotate(-45deg) - translateY(var(--home-nav-item-translation)); - -ms-transform: - rotate(-45deg) - translateY(var(--home-nav-item-translation)); - transform: - rotate(-45deg) - translateY(var(--home-nav-item-translation)); - } + .home__nav-item-1 { + grid-area: top-left; + place-self: end end; + -webkit-transform: + rotate(-45deg) + translateY(var(--home-nav-item-translation)); + -ms-transform: + rotate(-45deg) + translateY(var(--home-nav-item-translation)); + transform: + rotate(-45deg) + translateY(var(--home-nav-item-translation)); + } - .home__nav-item-2 { - grid-area: top-right; - place-self: end start; - -webkit-transform: - rotate(45deg) - translateY(var(--home-nav-item-translation)); - -ms-transform: - rotate(45deg) - translateY(var(--home-nav-item-translation)); - transform: - rotate(45deg) - translateY(var(--home-nav-item-translation)); - } + .home__nav-item-2 { + grid-area: top-right; + place-self: end start; + -webkit-transform: + rotate(45deg) + translateY(var(--home-nav-item-translation)); + -ms-transform: + rotate(45deg) + translateY(var(--home-nav-item-translation)); + transform: + rotate(45deg) + translateY(var(--home-nav-item-translation)); + } - .home__nav-item-3 { - grid-area: bottom; - place-self: start center; - } + .home__nav-item-3 { + grid-area: bottom; + place-self: start center; + } } .home__nav--4-items { - .home__nav-item-1 { - grid-area: top-left; - place-self: end end; - -webkit-transform: - rotate(-45deg) - translateY(var(--home-nav-item-translation)); - -ms-transform: - rotate(-45deg) - translateY(var(--home-nav-item-translation)); - transform: - rotate(-45deg) - translateY(var(--home-nav-item-translation)); - } + .home__nav-item-1 { + grid-area: top-left; + place-self: end end; + -webkit-transform: + rotate(-45deg) + translateY(var(--home-nav-item-translation)); + -ms-transform: + rotate(-45deg) + translateY(var(--home-nav-item-translation)); + transform: + rotate(-45deg) + translateY(var(--home-nav-item-translation)); + } - .home__nav-item-2 { - grid-area: top-right; - place-self: end start; - -webkit-transform: - rotate(45deg) - translateY(var(--home-nav-item-translation)); - -ms-transform: - rotate(45deg) - translateY(var(--home-nav-item-translation)); - transform: - rotate(45deg) - translateY(var(--home-nav-item-translation)); - } + .home__nav-item-2 { + grid-area: top-right; + place-self: end start; + -webkit-transform: + rotate(45deg) + translateY(var(--home-nav-item-translation)); + -ms-transform: + rotate(45deg) + translateY(var(--home-nav-item-translation)); + transform: + rotate(45deg) + translateY(var(--home-nav-item-translation)); + } - .home__nav-item-3 { - grid-area: bottom-left; - place-self: start end; - -webkit-transform: - rotate(45deg) - translateY(calc(var(--home-nav-item-translation) * -1)); - -ms-transform: - rotate(45deg) - translateY(calc(var(--home-nav-item-translation) * -1)); - transform: - rotate(45deg) - translateY(calc(var(--home-nav-item-translation) * -1)); - } + .home__nav-item-3 { + grid-area: bottom-left; + place-self: start end; + -webkit-transform: + rotate(45deg) + translateY(calc(var(--home-nav-item-translation) * -1)); + -ms-transform: + rotate(45deg) + translateY(calc(var(--home-nav-item-translation) * -1)); + transform: + rotate(45deg) + translateY(calc(var(--home-nav-item-translation) * -1)); + } - .home__nav-item-4 { - grid-area: bottom-right; - place-self: start start; - -webkit-transform: - rotate(-45deg) - translateY(calc(var(--home-nav-item-translation) * -1)); - -ms-transform: - rotate(-45deg) - translateY(calc(var(--home-nav-item-translation) * -1)); - transform: - rotate(-45deg) - translateY(calc(var(--home-nav-item-translation) * -1)); - } + .home__nav-item-4 { + grid-area: bottom-right; + place-self: start start; + -webkit-transform: + rotate(-45deg) + translateY(calc(var(--home-nav-item-translation) * -1)); + -ms-transform: + rotate(-45deg) + translateY(calc(var(--home-nav-item-translation) * -1)); + transform: + rotate(-45deg) + translateY(calc(var(--home-nav-item-translation) * -1)); + } } .home__nav-link { - color: var(--black); - font-size: var(--h3-font-size); - text-decoration: none; - opacity: 0; - -webkit-transition: opacity 600ms ease-in-out; - -o-transition: opacity 600ms ease-in-out; - transition: opacity 600ms ease-in-out; + color: var(--black); + font-size: var(--h3-font-size); + text-decoration: none; + opacity: 0; + -webkit-transition: opacity 600ms ease-in-out; + -o-transition: opacity 600ms ease-in-out; + transition: opacity 600ms ease-in-out; - div { - opacity: 0; - -webkit-transition: opacity 600ms ease-in-out; - -o-transition: opacity 600ms ease-in-out; - transition: opacity 600ms ease-in-out; - } + div { + opacity: 0; + -webkit-transition: opacity 600ms ease-in-out; + -o-transition: opacity 600ms ease-in-out; + transition: opacity 600ms ease-in-out; + } } .home__nav-link--visible { - opacity: 1; + opacity: 1; - div { - opacity: 1; - } + div { + opacity: 1; + } } .home__nav-letter--wave-up { - -webkit-animation: wave-up 600ms ease-out; - animation: wave-up 600ms ease-in-out; + -webkit-animation: wave-up 600ms ease-out; + animation: wave-up 600ms ease-in-out; } .home__nav-letter--wave-down { - -webkit-animation: wave-down 600ms ease-out; - animation: wave-down 600ms ease-in-out; + -webkit-animation: wave-down 600ms ease-out; + animation: wave-down 600ms ease-in-out; } // Gallery & biography sections .gallery-section, .biography-section { - max-width: var(--content-max-width); - margin: auto; - padding: var(--generic-section-vertical-padding) var(--generic-section-horizontal-padding); + max-width: var(--content-max-width); + margin: auto; + padding: var(--generic-section-vertical-padding) var(--generic-section-horizontal-padding); } .gallery__title, .biography__title { - text-align: center; + text-align: center; } .gallery__introduction, .biography__presentation { - max-width: var(--text-max-width); - margin: auto; + max-width: var(--text-max-width); + margin: auto; - h3:nth-child(1) { - margin: 0 0 1rem 0; - } + h3:nth-child(1) { + margin: 0 0 1rem 0; + } - p { + p { - + p, - + ul { - margin: 1rem 0 0 0; - } - } + + p, + + ul { + margin: 1rem 0 0 0; + } + } - ul { + ul { line-height: var(--text-line-height); - + ul, - + p { - margin: 1rem 0 0 0; - } + + ul, + + p { + margin: 1rem 0 0 0; + } li { position: relative; @@ -650,91 +650,91 @@ footer { top: 0; left: 0; } - } + } } .gallery__artwork { - display: table; - max-width: Min(1280px, 100%); - margin: auto; + display: table; + max-width: Min(1280px, 100%); + margin: auto; - + .gallery__artwork { - margin: 2rem auto 0 auto; - } + + .gallery__artwork { + margin: 2rem auto 0 auto; + } - .gallery__image, - .gallery__video { - display: block; - max-height: 80vh; - } + .gallery__image, + .gallery__video { + display: block; + max-height: 80vh; + } - .gallery__video { + .gallery__video { - &--full-screen { - max-height: initial; - } - } + &--full-screen { + max-height: initial; + } + } - figcaption { - display: table-caption; - caption-side: bottom; - margin: 1rem auto 0 auto; - font-size: var(--caption-font-size); - font-style: italic; - line-height: var(--text-line-height); - } + figcaption { + display: table-caption; + caption-side: bottom; + margin: 1rem auto 0 auto; + font-size: var(--caption-font-size); + font-style: italic; + line-height: var(--text-line-height); + } } @media screen and (min-width: $tablet-media-query) { - .gallery__artwork { + .gallery__artwork { - + .gallery__artwork { - margin: 3rem auto 0 auto; - } - } + + .gallery__artwork { + margin: 3rem auto 0 auto; + } + } } // Error section .error-section { - max-width: var(--content-max-width); - margin: auto; - padding: var(--generic-section-vertical-padding) var(--generic-section-horizontal-padding); + max-width: var(--content-max-width); + margin: auto; + padding: var(--generic-section-vertical-padding) var(--generic-section-horizontal-padding); } .error__title { - text-align: center; + text-align: center; } .error__message { - max-width: var(--text-max-width); - margin: auto; - text-align: center; + max-width: var(--text-max-width); + margin: auto; + text-align: center; } .error__button { - margin: 1rem 0 0 0; - text-align: center; + margin: 1rem 0 0 0; + text-align: center; - a { - display: inline-block; - padding: 0.8rem; - border-radius: 10px; - color: var(--white); - background-color: var(--jet); - text-decoration: none; - font-weight: var(--semi-bold-font-weight); + a { + display: inline-block; + padding: 0.8rem; + border-radius: 10px; + color: var(--white); + background-color: var(--jet); + text-decoration: none; + font-weight: var(--semi-bold-font-weight); -webkit-transition: transform 200ms ease-in-out; -o-transition: transform 200ms ease-in-out; transition: transform 200ms ease-in-out; - &:hover, - &:focus, - &:active { - transform: scale(1.1); - } - } + &:hover, + &:focus, + &:active { + transform: scale(1.1); + } + } } // ---------------------------------------------------------------------------- @@ -744,63 +744,63 @@ footer { // Footer bar .footer-bar { - max-width: var(--content-max-width); - height: var(--footer-bar-height); - margin: auto; - padding: var(--footer-bar-vertical-padding) var(--footer-bar-horizontal-padding); - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; + max-width: var(--content-max-width); + height: var(--footer-bar-height); + margin: auto; + padding: var(--footer-bar-vertical-padding) var(--footer-bar-horizontal-padding); + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; } .footer-bar__social { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; - a { + a { width: var(--icon-size); height: var(--icon-size); border-radius: 50%; background-color: var(--jet); - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; -webkit-transition: transform 200ms ease-in-out; -o-transition: transform 200ms ease-in-out; transition: transform 200ms ease-in-out; - + a { - margin: 0 0 0 1rem; - } + + a { + margin: 0 0 0 1rem; + } - svg { + svg { fill: var(--white); - } + } &:hover, &:focus, - &:active { + &:active { transform: scale(1.1); - } - } + } + } a.footer-bar__instagram-button { @@ -820,31 +820,31 @@ footer { } .footer-bar__copyright { - font-size: var(--footnote-font-size); - margin: 1rem 0 0 0; + font-size: var(--footnote-font-size); + margin: 1rem 0 0 0; } @media screen and (min-width: $tablet-media-query) { - .footer-bar { - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-direction: row; - flex-direction: row; - -webkit-box-pack: justify; - -ms-flex-pack: justify; - justify-content: space-between; - -webkit-box-align: end; - -ms-flex-align: end; - align-items: flex-end; - } + .footer-bar { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-direction: row; + flex-direction: row; + -webkit-box-pack: justify; + -ms-flex-pack: justify; + justify-content: space-between; + -webkit-box-align: end; + -ms-flex-align: end; + align-items: flex-end; + } - .footer-bar__social { - order: 2; - } + .footer-bar__social { + order: 2; + } - .footer-bar__copyright { - order: 1; - margin: 0; - } + .footer-bar__copyright { + order: 1; + margin: 0; + } } diff --git a/assets/favicon/xiao-wang-favicon.svg b/assets/favicon/xiao-wang-favicon.svg index 437a681..d66e092 100644 --- a/assets/favicon/xiao-wang-favicon.svg +++ b/assets/favicon/xiao-wang-favicon.svg @@ -1,20 +1,20 @@ - - - + + + diff --git a/assets/favicon/xiao-wang.webmanifest b/assets/favicon/xiao-wang.webmanifest index 75c156f..63b309d 100644 --- a/assets/favicon/xiao-wang.webmanifest +++ b/assets/favicon/xiao-wang.webmanifest @@ -1,16 +1,16 @@ { - "name": "Xiao Wang", - "short_name": "Xiao Wang", - "icons": [ - { - "src": "xiao-wang-favicon-192px.png", - "sizes": "192x192", - "type": "image/png" - }, - { - "src": "xiao-wang-favicon-512px.png", - "sizes": "512x512", - "type": "image/png" - } - ] + "name": "Xiao Wang", + "short_name": "Xiao Wang", + "icons": [ + { + "src": "xiao-wang-favicon-192px.png", + "sizes": "192x192", + "type": "image/png" + }, + { + "src": "xiao-wang-favicon-512px.png", + "sizes": "512x512", + "type": "image/png" + } + ] } diff --git a/assets/js/app.js b/assets/js/app.js index 4e488c4..480cbd2 100644 --- a/assets/js/app.js +++ b/assets/js/app.js @@ -41,8 +41,8 @@ const touchPosition = { // Convert rem to pixels by getting font-size CSS property function convertRemToPixels(rem) { - let fontSize = parseFloat(window.getComputedStyle(document.body).getPropertyValue('font-size')); - return rem * fontSize; + let fontSize = parseFloat(window.getComputedStyle(document.body).getPropertyValue('font-size')); + return rem * fontSize; } // ---------------------------------------------------------------------------- @@ -53,257 +53,257 @@ function convertRemToPixels(rem) { // Calculate navigation grid inner width function calculateNavGridInnerWidth() { - if (root && navImage) { - let navGridGapProperty = window.getComputedStyle(root).getPropertyValue('--home-nav-gap'); - let navGridGap = parseFloat(navGridGapProperty.slice(0, -3)); - return navImage.getBoundingClientRect().width + (convertRemToPixels(navGridGap) * 2); - } + if (root && navImage) { + let navGridGapProperty = window.getComputedStyle(root).getPropertyValue('--home-nav-gap'); + let navGridGap = parseFloat(navGridGapProperty.slice(0, -3)); + return navImage.getBoundingClientRect().width + (convertRemToPixels(navGridGap) * 2); + } } // Calculate navigation grid inner diagonal function calculateNavGridInnerDiagonal() { - return calculateNavGridInnerWidth() * Math.sqrt(2); + return calculateNavGridInnerWidth() * Math.sqrt(2); } // Create new instance of CircleType for each navigation link, set radius and direction function curveNavLinks() { - if (navLinks.length !== 0 && circleTypes) { - for (let i = 0; i < (navLinks.length - 2); i++) { - circleTypes[i] = new CircleType(navLinks[i]); - circleTypes[i].radius(calculateNavGridInnerWidth() / 2); - } - for (let i = (navLinks.length - 2); i < navLinks.length; i++) { - circleTypes[i] = new CircleType(navLinks[i]); - circleTypes[i].dir(-1); - circleTypes[i].radius(calculateNavGridInnerWidth() / 2); - } - } + if (navLinks.length !== 0 && circleTypes) { + for (let i = 0; i < (navLinks.length - 2); i++) { + circleTypes[i] = new CircleType(navLinks[i]); + circleTypes[i].radius(calculateNavGridInnerWidth() / 2); + } + for (let i = (navLinks.length - 2); i < navLinks.length; i++) { + circleTypes[i] = new CircleType(navLinks[i]); + circleTypes[i].dir(-1); + circleTypes[i].radius(calculateNavGridInnerWidth() / 2); + } + } } // Set --home-nav-item-translation CSS property function setNavItemTranslationProperty() { - let navItemTranslation = (calculateNavGridInnerDiagonal() - calculateNavGridInnerWidth()) / 2; - if (root) { - root.style.setProperty('--home-nav-item-translation', navItemTranslation + 'px'); - } + let navItemTranslation = (calculateNavGridInnerDiagonal() - calculateNavGridInnerWidth()) / 2; + if (root) { + root.style.setProperty('--home-nav-item-translation', navItemTranslation + 'px'); + } } // Set navigation grid display depending on number of links function setNavGridDisplay() { - if (navEl && navLinks.length !== 0) { - if (navLinks.length === 2) { - navEl.classList.add('home__nav--2-items'); - } else if (navLinks.length === 3) { - navEl.classList.add('home__nav--3-items'); - } else if (navLinks.length === 4) { - navEl.classList.add('home__nav--4-items'); - } - for (let i = 0; i < navLinks.length; i++) { - navLinks[i].classList.add('home__nav-link--visible'); - } - } + if (navEl && navLinks.length !== 0) { + if (navLinks.length === 2) { + navEl.classList.add('home__nav--2-items'); + } else if (navLinks.length === 3) { + navEl.classList.add('home__nav--3-items'); + } else if (navLinks.length === 4) { + navEl.classList.add('home__nav--4-items'); + } + for (let i = 0; i < navLinks.length; i++) { + navLinks[i].classList.add('home__nav-link--visible'); + } + } } // Edit navigation links radius and translation on window resize event function editNavLinksOnResize() { - window.addEventListener('resize', function(e) { - if (navLinks.length !== 0 && circleTypes) { - for (let i = 0; i < navLinks.length; i++) { - circleTypes[i].radius(calculateNavGridInnerWidth() / 2); - } - } - setNavItemTranslationProperty(); - }); + window.addEventListener('resize', function(e) { + if (navLinks.length !== 0 && circleTypes) { + for (let i = 0; i < navLinks.length; i++) { + circleTypes[i].radius(calculateNavGridInnerWidth() / 2); + } + } + setNavItemTranslationProperty(); + }); } // Add wave up animation to a single letter and remove it on animationend event function waveNavLetterUp(navLetter) { - navLetter.classList.add('home__nav-letter--wave-up'); - navLetter.addEventListener('animationend', function(e) { - navLetter.classList.remove('home__nav-letter--wave-up'); - }); + navLetter.classList.add('home__nav-letter--wave-up'); + navLetter.addEventListener('animationend', function(e) { + navLetter.classList.remove('home__nav-letter--wave-up'); + }); } // Add wave down animation to a single letter and remove it on animationend event function waveNavLetterDown(navLetter) { - navLetter.classList.add('home__nav-letter--wave-down'); - navLetter.addEventListener('animationend', function(e) { - navLetter.classList.remove('home__nav-letter--wave-down'); - }); + navLetter.classList.add('home__nav-letter--wave-down'); + navLetter.addEventListener('animationend', function(e) { + navLetter.classList.remove('home__nav-letter--wave-down'); + }); } // Add wave up animation to every letters of a single link with a slight delay function waveNavLinkUp(navLink) { - let navLinkLetters = navLink.querySelectorAll('span'); - let animationDelay = 0; - for (let i = 0; i < navLinkLetters.length; i++) { - setTimeout(waveNavLetterUp, animationDelay, navLinkLetters[i]); - animationDelay += 50; - } + let navLinkLetters = navLink.querySelectorAll('span'); + let animationDelay = 0; + for (let i = 0; i < navLinkLetters.length; i++) { + setTimeout(waveNavLetterUp, animationDelay, navLinkLetters[i]); + animationDelay += 50; + } } // Add wave down animation to every letters of a single link with a slight delay function waveNavLinkDown(navLink) { - let navLinkLetters = navLink.querySelectorAll('span'); - let animationDelay = 0; - for (let i = 0; i < navLinkLetters.length; i++) { - setTimeout(waveNavLetterDown, animationDelay, navLinkLetters[i]); - animationDelay += 50; - } + let navLinkLetters = navLink.querySelectorAll('span'); + let animationDelay = 0; + for (let i = 0; i < navLinkLetters.length; i++) { + setTimeout(waveNavLetterDown, animationDelay, navLinkLetters[i]); + animationDelay += 50; + } } // Add wave (up or down) animation to every letters of each link on mouseover event function waveNavLinksOnHover() { - if (navLinks.length !== 0) { - for (let i = 0; i < (navLinks.length - 2); i++) { - navLinks[i].addEventListener('mouseover', function(e) { - waveNavLinkUp(navLinks[i]); - }); - } - for (let i = (navLinks.length - 2); i < navLinks.length; i++) { - navLinks[i].addEventListener('mouseover', function(e) { - waveNavLinkDown(navLinks[i]); - }); - } - } + if (navLinks.length !== 0) { + for (let i = 0; i < (navLinks.length - 2); i++) { + navLinks[i].addEventListener('mouseover', function(e) { + waveNavLinkUp(navLinks[i]); + }); + } + for (let i = (navLinks.length - 2); i < navLinks.length; i++) { + navLinks[i].addEventListener('mouseover', function(e) { + waveNavLinkDown(navLinks[i]); + }); + } + } } // VIDEO PLAYERS // // Set up Plyr video players function setUpVideoPlayers() { - if (galleryVideos.length !== 0) { - videoPlayers = Plyr.setup(galleryVideos, { - controls: [ - 'play-large', - 'play', - 'progress', - 'current-time', - 'duration', - 'mute', - 'volume', - 'fullscreen' - ], - i18n: { - play: 'Lire', - pause: 'Mettre sur pause', - seek: 'Parcourir la piste audio', - currentTime: 'Temps écoulé depuis le début de la piste audio', - duration: 'Durée de la piste audio', - volume: 'Ajuster le volume', - mute: 'Couper le son', - unmute: 'Activer le son', - enterFullscreen: 'Activer le mode plein écran', - exitFullscreen: 'Quitter le mode plein écran' - } - }); - } + if (galleryVideos.length !== 0) { + videoPlayers = Plyr.setup(galleryVideos, { + controls: [ + 'play-large', + 'play', + 'progress', + 'current-time', + 'duration', + 'mute', + 'volume', + 'fullscreen' + ], + i18n: { + play: 'Lire', + pause: 'Mettre sur pause', + seek: 'Parcourir la piste audio', + currentTime: 'Temps écoulé depuis le début de la piste audio', + duration: 'Durée de la piste audio', + volume: 'Ajuster le volume', + mute: 'Couper le son', + unmute: 'Activer le son', + enterFullscreen: 'Activer le mode plein écran', + exitFullscreen: 'Quitter le mode plein écran' + } + }); + } } // Toggle videos full screen mode on Plyr enterfullscreen and exitfullscreen media events function toggleVideosFullScreen() { - if (videoPlayers.length !== 0) { - for (let i = 0; i < videoPlayers.length; i++) { - videoPlayers[i].on('enterfullscreen', function(e) { - galleryVideos[i].classList.add('gallery__video--full-screen'); - }); - videoPlayers[i].on('exitfullscreen', function(e) { - galleryVideos[i].classList.remove('gallery__video--full-screen'); - }); - } - } + if (videoPlayers.length !== 0) { + for (let i = 0; i < videoPlayers.length; i++) { + videoPlayers[i].on('enterfullscreen', function(e) { + galleryVideos[i].classList.add('gallery__video--full-screen'); + }); + videoPlayers[i].on('exitfullscreen', function(e) { + galleryVideos[i].classList.remove('gallery__video--full-screen'); + }); + } + } } // HEADER BAR ANIMATION // // Toggle header bar depending on scroll offset function toggleHeaderBar() { - if (headerBar && headerLogo) { - let headerBarHeight = headerBar.getBoundingClientRect().height; - if (window.pageYOffset > headerBarHeight) { // Scroll down past header bar height - headerBar.classList.add('header-bar--fixed'); + if (headerBar && headerLogo) { + let headerBarHeight = headerBar.getBoundingClientRect().height; + if (window.pageYOffset > headerBarHeight) { // Scroll down past header bar height + headerBar.classList.add('header-bar--fixed'); headerLogo.classList.add('header-bar__logo--small'); - } else if (window.pageYOffset <= 0) { - headerBar.classList.remove('header-bar--fixed'); + } else if (window.pageYOffset <= 0) { + headerBar.classList.remove('header-bar--fixed'); headerLogo.classList.remove('header-bar__logo--small'); - headerBar.classList.remove('header-bar--visible'); - } - if (headerBar.classList.contains('header-bar--fixed')) { - if (scrollOffset < window.pageYOffset) { // Scroll down - headerBar.classList.remove('header-bar--visible'); - } else if (scrollOffset > window.pageYOffset) { // Scroll up - headerBar.classList.add('header-bar--visible'); - } - scrollOffset = window.pageYOffset; - } - } + headerBar.classList.remove('header-bar--visible'); + } + if (headerBar.classList.contains('header-bar--fixed')) { + if (scrollOffset < window.pageYOffset) { // Scroll down + headerBar.classList.remove('header-bar--visible'); + } else if (scrollOffset > window.pageYOffset) { // Scroll up + headerBar.classList.add('header-bar--visible'); + } + scrollOffset = window.pageYOffset; + } + } } // NAVIGATION MENU ANIMATION // // Toggle header navigation function toggleHeaderNav() { - if (headerNavBtn && headerNavMenu) { - headerNavBtn.classList.toggle('header-bar__nav-button--custom-focus'); - headerNavMenu.classList.toggle('header-bar__nav-menu--visible'); + if (headerNavBtn && headerNavMenu) { + headerNavBtn.classList.toggle('header-bar__nav-button--custom-focus'); + headerNavMenu.classList.toggle('header-bar__nav-menu--visible'); headerNavOverlay.classList.toggle('header-bar__nav-overlay--visible'); - document.body.classList.toggle('body--hidden-overflow-y'); - } + document.body.classList.toggle('body--hidden-overflow-y'); + } } // Open header navigation function openHeaderNav() { - if (headerNavBtn && headerNavMenu) { - headerNavBtn.classList.add('header-bar__nav-button--custom-focus'); - headerNavMenu.classList.add('header-bar__nav-menu--visible'); + if (headerNavBtn && headerNavMenu) { + headerNavBtn.classList.add('header-bar__nav-button--custom-focus'); + headerNavMenu.classList.add('header-bar__nav-menu--visible'); headerNavOverlay.classList.add('header-bar__nav-overlay--visible'); - document.body.classList.add('body--hidden-overflow-y'); - } + document.body.classList.add('body--hidden-overflow-y'); + } } // Close header navigation function closeHeaderNav() { - if (headerNavBtn && headerNavMenu) { - headerNavBtn.classList.remove('header-bar__nav-button--custom-focus'); - headerNavMenu.classList.remove('header-bar__nav-menu--visible'); + if (headerNavBtn && headerNavMenu) { + headerNavBtn.classList.remove('header-bar__nav-button--custom-focus'); + headerNavMenu.classList.remove('header-bar__nav-menu--visible'); headerNavOverlay.classList.remove('header-bar__nav-overlay--visible'); - document.body.classList.remove('body--hidden-overflow-y'); - } + document.body.classList.remove('body--hidden-overflow-y'); + } } // Toggle header navigation on button click event function toggleHeaderNavOnClick() { - headerNavBtn.addEventListener('click', toggleHeaderNav); + headerNavBtn.addEventListener('click', toggleHeaderNav); } // Close header navigation on document click event function closeHeaderNavOnClick() { - document.addEventListener('click', function(e) { - if (headerNavBtn.classList.contains('header-bar__nav-button--custom-focus') && headerNavMenu.classList.contains('header-bar__nav-menu--visible') && !headerNavBtn.contains(e.target) && !headerNavMenu.contains(e.target)) { - closeHeaderNav(e); + document.addEventListener('click', function(e) { + if (headerNavBtn.classList.contains('header-bar__nav-button--custom-focus') && headerNavMenu.classList.contains('header-bar__nav-menu--visible') && !headerNavBtn.contains(e.target) && !headerNavMenu.contains(e.target)) { + closeHeaderNav(e); if (e.cancelable) { e.preventDefault(); } - } - }); + } + }); } // Open header navigation on menu list focusin event function openHeaderNavBeforeFocus() { - if (headerNavMenuListEls) { - for (let i = 0; i < headerNavMenuListEls.length; i++) { - headerNavMenuListEls[i].addEventListener('focusin', openHeaderNav); - } - } + if (headerNavMenuListEls) { + for (let i = 0; i < headerNavMenuListEls.length; i++) { + headerNavMenuListEls[i].addEventListener('focusin', openHeaderNav); + } + } } // Close header navigation on menu list focusout event function closeHeaderNavAfterFocus() { - if (headerNavMenuListEls) { - for (let i = 0; i < headerNavMenuListEls.length; i++) { - headerNavMenuListEls[i].addEventListener('focusout', closeHeaderNav); - } - } + if (headerNavMenuListEls) { + for (let i = 0; i < headerNavMenuListEls.length; i++) { + headerNavMenuListEls[i].addEventListener('focusout', closeHeaderNav); + } + } } // Close header navigation on touchstart and touchmove events (swipe right) @@ -341,11 +341,11 @@ document.addEventListener("touchstart", function() {},false); // HOME NAVIGATION DISPLAY // window.addEventListener('load', function() { - curveNavLinks(); - setNavItemTranslationProperty(); - setNavGridDisplay(); - editNavLinksOnResize(); - waveNavLinksOnHover(); + curveNavLinks(); + setNavItemTranslationProperty(); + setNavGridDisplay(); + editNavLinksOnResize(); + waveNavLinksOnHover(); }); // VIDEO PLAYERS // @@ -356,7 +356,7 @@ toggleVideosFullScreen(); // HEADER BAR ANIMATION // document.addEventListener('scroll', function() { - toggleHeaderBar(); + toggleHeaderBar(); }); // NAVIGATION MENU ANIMATION // diff --git a/composer.json b/composer.json index c2df9ce..3854a55 100644 --- a/composer.json +++ b/composer.json @@ -1,30 +1,30 @@ { - "name": "paulnicoue/xiaowang", - "description": "Xiao Wang", - "type": "project", - "homepage": "https://xiaowang.fr", - "authors": [ - { - "name": "Paul Nicoué", - "email": "contact@paulnicoue.com", - "homepage": "https://paulnicoue.com" - } - ], - "require": { - "php": ">=7.3.0 <8.1.0", - "getkirby/cms": "^3.5", - "amteich/kirby-twig": "^4.1", - "sylvainjule/matomo": "^1.0", - "kirbyzone/sitemapper": "^1.2", - "mullema/k3-image-clip": "^3.0" - }, - "scripts": { - "start": [ - "Composer\\Config::disableProcessTimeout", - "@php -S localhost:8000 kirby/router.php" - ] - }, - "config": { - "optimize-autoloader": true - } + "name": "paulnicoue/xiaowang", + "description": "Xiao Wang", + "type": "project", + "homepage": "https://xiaowang.fr", + "authors": [ + { + "name": "Paul Nicoué", + "email": "contact@paulnicoue.com", + "homepage": "https://paulnicoue.com" + } + ], + "require": { + "php": ">=7.3.0 <8.1.0", + "getkirby/cms": "^3.5", + "amteich/kirby-twig": "^4.1", + "sylvainjule/matomo": "^1.0", + "kirbyzone/sitemapper": "^1.2", + "mullema/k3-image-clip": "^3.0" + }, + "scripts": { + "start": [ + "Composer\\Config::disableProcessTimeout", + "@php -S localhost:8000 kirby/router.php" + ] + }, + "config": { + "optimize-autoloader": true + } } diff --git a/composer.lock b/composer.lock index 3e87f3c..cfec2de 100644 --- a/composer.lock +++ b/composer.lock @@ -1,1142 +1,1142 @@ { - "_readme": [ - "This file locks the dependencies of your project to a known state", - "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", - "This file is @generated automatically" - ], - "content-hash": "fac28f73cea5cec843631a10a9a4e395", - "packages": [ - { - "name": "amteich/kirby-twig", - "version": "4.1.6", - "source": { - "type": "git", - "url": "https://github.com/amteich/kirby-twig.git", - "reference": "d7f5535a24211702a76bde5c7f59aaf23904efab" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/amteich/kirby-twig/zipball/d7f5535a24211702a76bde5c7f59aaf23904efab", - "reference": "d7f5535a24211702a76bde5c7f59aaf23904efab", - "shasum": "" - }, - "require": { - "getkirby/composer-installer": "^1.1", - "twig/twig": "^3.0" - }, - "type": "kirby-plugin", - "autoload": { - "psr-4": { - "amteich\\Twig\\": "src/classes/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Christian Zehetner", - "email": "christian@am-teich.com" - }, - { - "name": "Florens Verschelde", - "email": "florens@fvsch.com" - } - ], - "description": "Twig templating support for Kirby CMS", - "support": { - "issues": "https://github.com/amteich/kirby-twig/issues", - "source": "https://github.com/amteich/kirby-twig/tree/4.1.6" - }, - "time": "2022-01-03T09:07:58+00:00" - }, - { - "name": "claviska/simpleimage", - "version": "3.6.5", - "source": { - "type": "git", - "url": "https://github.com/claviska/SimpleImage.git", - "reference": "00f90662686696b9b7157dbb176183aabe89700f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/claviska/SimpleImage/zipball/00f90662686696b9b7157dbb176183aabe89700f", - "reference": "00f90662686696b9b7157dbb176183aabe89700f", - "shasum": "" - }, - "require": { - "ext-gd": "*", - "league/color-extractor": "0.3.*", - "php": ">=5.6.0" - }, - "type": "library", - "autoload": { - "psr-0": { - "claviska": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Cory LaViska", - "homepage": "http://www.abeautifulsite.net/", - "role": "Developer" - } - ], - "description": "A PHP class that makes working with images as simple as possible.", - "support": { - "issues": "https://github.com/claviska/SimpleImage/issues", - "source": "https://github.com/claviska/SimpleImage/tree/3.6.5" - }, - "funding": [ - { - "url": "https://github.com/claviska", - "type": "github" - } - ], - "time": "2021-12-01T12:42:55+00:00" - }, - { - "name": "filp/whoops", - "version": "2.14.5", - "source": { - "type": "git", - "url": "https://github.com/filp/whoops.git", - "reference": "a63e5e8f26ebbebf8ed3c5c691637325512eb0dc" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/filp/whoops/zipball/a63e5e8f26ebbebf8ed3c5c691637325512eb0dc", - "reference": "a63e5e8f26ebbebf8ed3c5c691637325512eb0dc", - "shasum": "" - }, - "require": { - "php": "^5.5.9 || ^7.0 || ^8.0", - "psr/log": "^1.0.1 || ^2.0 || ^3.0" - }, - "require-dev": { - "mockery/mockery": "^0.9 || ^1.0", - "phpunit/phpunit": "^4.8.36 || ^5.7.27 || ^6.5.14 || ^7.5.20 || ^8.5.8 || ^9.3.3", - "symfony/var-dumper": "^2.6 || ^3.0 || ^4.0 || ^5.0" - }, - "suggest": { - "symfony/var-dumper": "Pretty print complex values better with var-dumper available", - "whoops/soap": "Formats errors as SOAP responses" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.7-dev" - } - }, - "autoload": { - "psr-4": { - "Whoops\\": "src/Whoops/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Filipe Dobreira", - "homepage": "https://github.com/filp", - "role": "Developer" - } - ], - "description": "php error handling for cool kids", - "homepage": "https://filp.github.io/whoops/", - "keywords": [ - "error", - "exception", - "handling", - "library", - "throwable", - "whoops" - ], - "support": { - "issues": "https://github.com/filp/whoops/issues", - "source": "https://github.com/filp/whoops/tree/2.14.5" - }, - "funding": [ - { - "url": "https://github.com/denis-sokolov", - "type": "github" - } - ], - "time": "2022-01-07T12:00:00+00:00" - }, - { - "name": "getkirby/cms", - "version": "3.6.3", - "source": { - "type": "git", - "url": "https://github.com/getkirby/kirby.git", - "reference": "6b20fa11843f57cd9a1e611bc9e8e8a91b855156" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/getkirby/kirby/zipball/6b20fa11843f57cd9a1e611bc9e8e8a91b855156", - "reference": "6b20fa11843f57cd9a1e611bc9e8e8a91b855156", - "shasum": "" - }, - "require": { - "claviska/simpleimage": "3.6.5", - "ext-ctype": "*", - "ext-mbstring": "*", - "filp/whoops": "2.14.5", - "getkirby/composer-installer": "^1.2.1", - "laminas/laminas-escaper": "2.9.0", - "michelf/php-smartypants": "1.8.1", - "php": ">=7.4.0 <8.2.0", - "phpmailer/phpmailer": "6.5.4", - "psr/log": "1.1.4", - "symfony/polyfill-intl-idn": "1.24.0", - "symfony/polyfill-mbstring": "1.24.0" - }, - "replace": { - "symfony/polyfill-php72": "*" - }, - "type": "kirby-cms", - "extra": { - "unused": [ - "symfony/polyfill-intl-idn" - ] - }, - "autoload": { - "files": [ - "config/setup.php", - "config/helpers.php" - ], - "psr-4": { - "Kirby\\": "src/" - }, - "classmap": [ - "dependencies/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "proprietary" - ], - "authors": [ - { - "name": "Kirby Team", - "email": "support@getkirby.com", - "homepage": "https://getkirby.com" - } - ], - "description": "The Kirby 3 core", - "homepage": "https://getkirby.com", - "keywords": [ - "cms", - "core", - "kirby" - ], - "support": { - "email": "support@getkirby.com", - "forum": "https://forum.getkirby.com", - "issues": "https://github.com/getkirby/kirby/issues", - "source": "https://github.com/getkirby/kirby" - }, - "funding": [ - { - "url": "https://getkirby.com/buy", - "type": "custom" - } - ], - "time": "2022-03-22T09:36:50+00:00" - }, - { - "name": "getkirby/composer-installer", - "version": "1.2.1", - "source": { - "type": "git", - "url": "https://github.com/getkirby/composer-installer.git", - "reference": "c98ece30bfba45be7ce457e1102d1b169d922f3d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/getkirby/composer-installer/zipball/c98ece30bfba45be7ce457e1102d1b169d922f3d", - "reference": "c98ece30bfba45be7ce457e1102d1b169d922f3d", - "shasum": "" - }, - "require": { - "composer-plugin-api": "^1.0 || ^2.0" - }, - "require-dev": { - "composer/composer": "^1.8 || ^2.0" - }, - "type": "composer-plugin", - "extra": { - "class": "Kirby\\ComposerInstaller\\Plugin" - }, - "autoload": { - "psr-4": { - "Kirby\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "Kirby's custom Composer installer for the Kirby CMS and for Kirby plugins", - "homepage": "https://getkirby.com", - "support": { - "issues": "https://github.com/getkirby/composer-installer/issues", - "source": "https://github.com/getkirby/composer-installer/tree/1.2.1" - }, - "funding": [ - { - "url": "https://getkirby.com/buy", - "type": "custom" - } - ], - "time": "2020-12-28T12:54:39+00:00" - }, - { - "name": "kirbyzone/sitemapper", - "version": "1.2.1", - "source": { - "type": "git", - "url": "https://github.com/kirbyzone/sitemapper.git", - "reference": "f94551265d222bae844ad29d0a6a5b5f3737aa48" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/kirbyzone/sitemapper/zipball/f94551265d222bae844ad29d0a6a5b5f3737aa48", - "reference": "f94551265d222bae844ad29d0a6a5b5f3737aa48", - "shasum": "" - }, - "require": { - "getkirby/composer-installer": "^1.1" - }, - "type": "kirby-plugin", - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Kirbyzone", - "email": "support@kirby.zone", - "homepage": "https://kirby.zone" - } - ], - "description": "Kirbyzone's Automatic Sitemap Generator Plugin for Kirby", - "homepage": "https://github.com/kirbyzone/sitemapper", - "support": { - "issues": "https://github.com/kirbyzone/sitemapper/issues", - "source": "https://github.com/kirbyzone/sitemapper" - }, - "time": "2021-08-16T07:29:36+00:00" - }, - { - "name": "laminas/laminas-escaper", - "version": "2.9.0", - "source": { - "type": "git", - "url": "https://github.com/laminas/laminas-escaper.git", - "reference": "891ad70986729e20ed2e86355fcf93c9dc238a5f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-escaper/zipball/891ad70986729e20ed2e86355fcf93c9dc238a5f", - "reference": "891ad70986729e20ed2e86355fcf93c9dc238a5f", - "shasum": "" - }, - "require": { - "php": "^7.3 || ~8.0.0 || ~8.1.0" - }, - "conflict": { - "zendframework/zend-escaper": "*" - }, - "require-dev": { - "laminas/laminas-coding-standard": "~2.3.0", - "phpunit/phpunit": "^9.3", - "psalm/plugin-phpunit": "^0.12.2", - "vimeo/psalm": "^3.16" - }, - "suggest": { - "ext-iconv": "*", - "ext-mbstring": "*" - }, - "type": "library", - "autoload": { - "psr-4": { - "Laminas\\Escaper\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "description": "Securely and safely escape HTML, HTML attributes, JavaScript, CSS, and URLs", - "homepage": "https://laminas.dev", - "keywords": [ - "escaper", - "laminas" - ], - "support": { - "chat": "https://laminas.dev/chat", - "docs": "https://docs.laminas.dev/laminas-escaper/", - "forum": "https://discourse.laminas.dev", - "issues": "https://github.com/laminas/laminas-escaper/issues", - "rss": "https://github.com/laminas/laminas-escaper/releases.atom", - "source": "https://github.com/laminas/laminas-escaper" - }, - "funding": [ - { - "url": "https://funding.communitybridge.org/projects/laminas-project", - "type": "community_bridge" - } - ], - "time": "2021-09-02T17:10:53+00:00" - }, - { - "name": "league/color-extractor", - "version": "0.3.2", - "source": { - "type": "git", - "url": "https://github.com/thephpleague/color-extractor.git", - "reference": "837086ec60f50c84c611c613963e4ad2e2aec806" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/thephpleague/color-extractor/zipball/837086ec60f50c84c611c613963e4ad2e2aec806", - "reference": "837086ec60f50c84c611c613963e4ad2e2aec806", - "shasum": "" - }, - "require": { - "ext-gd": "*", - "php": ">=5.4.0" - }, - "replace": { - "matthecat/colorextractor": "*" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "~2", - "phpunit/phpunit": "~5" - }, - "type": "library", - "autoload": { - "psr-4": { - "": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mathieu Lechat", - "email": "math.lechat@gmail.com", - "homepage": "http://matthecat.com", - "role": "Developer" - } - ], - "description": "Extract colors from an image as a human would do.", - "homepage": "https://github.com/thephpleague/color-extractor", - "keywords": [ - "color", - "extract", - "human", - "image", - "palette" - ], - "support": { - "issues": "https://github.com/thephpleague/color-extractor/issues", - "source": "https://github.com/thephpleague/color-extractor/tree/master" - }, - "time": "2016-12-15T09:30:02+00:00" - }, - { - "name": "michelf/php-smartypants", - "version": "1.8.1", - "source": { - "type": "git", - "url": "https://github.com/michelf/php-smartypants.git", - "reference": "47d17c90a4dfd0ccf1f87e25c65e6c8012415aad" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/michelf/php-smartypants/zipball/47d17c90a4dfd0ccf1f87e25c65e6c8012415aad", - "reference": "47d17c90a4dfd0ccf1f87e25c65e6c8012415aad", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "autoload": { - "psr-0": { - "Michelf": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Michel Fortin", - "email": "michel.fortin@michelf.ca", - "homepage": "https://michelf.ca/", - "role": "Developer" - }, - { - "name": "John Gruber", - "homepage": "https://daringfireball.net/" - } - ], - "description": "PHP SmartyPants", - "homepage": "https://michelf.ca/projects/php-smartypants/", - "keywords": [ - "dashes", - "quotes", - "spaces", - "typographer", - "typography" - ], - "support": { - "issues": "https://github.com/michelf/php-smartypants/issues", - "source": "https://github.com/michelf/php-smartypants/tree/1.8.1" - }, - "time": "2016-12-13T01:01:17+00:00" - }, - { - "name": "mullema/k3-image-clip", - "version": "3.0.0", - "source": { - "type": "git", - "url": "https://github.com/mullema/k3-image-clip.git", - "reference": "ac6a4a461ae8972557da24755005a3937a275b0c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/mullema/k3-image-clip/zipball/ac6a4a461ae8972557da24755005a3937a275b0c", - "reference": "ac6a4a461ae8972557da24755005a3937a275b0c", - "shasum": "" - }, - "require": { - "getkirby/composer-installer": "^1.2" - }, - "type": "kirby-plugin", - "extra": { - "installer-name": "k3-image-clip" - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Matthias Müller", - "email": "moeli@moeli.com", - "homepage": "https://getkirby.com/plugins/mullema" - } - ], - "description": "Visual image clip for Kirby 3", - "support": { - "issues": "https://github.com/mullema/k3-image-clip/issues", - "source": "https://github.com/mullema/k3-image-clip/tree/3.0.0" - }, - "time": "2021-12-05T21:47:42+00:00" - }, - { - "name": "phpmailer/phpmailer", - "version": "v6.5.4", - "source": { - "type": "git", - "url": "https://github.com/PHPMailer/PHPMailer.git", - "reference": "c0d9f7dd3c2aa247ca44791e9209233829d82285" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/PHPMailer/PHPMailer/zipball/c0d9f7dd3c2aa247ca44791e9209233829d82285", - "reference": "c0d9f7dd3c2aa247ca44791e9209233829d82285", - "shasum": "" - }, - "require": { - "ext-ctype": "*", - "ext-filter": "*", - "ext-hash": "*", - "php": ">=5.5.0" - }, - "require-dev": { - "dealerdirect/phpcodesniffer-composer-installer": "^0.7.0", - "doctrine/annotations": "^1.2", - "php-parallel-lint/php-console-highlighter": "^0.5.0", - "php-parallel-lint/php-parallel-lint": "^1.3.1", - "phpcompatibility/php-compatibility": "^9.3.5", - "roave/security-advisories": "dev-latest", - "squizlabs/php_codesniffer": "^3.6.2", - "yoast/phpunit-polyfills": "^1.0.0" - }, - "suggest": { - "ext-mbstring": "Needed to send email in multibyte encoding charset or decode encoded addresses", - "hayageek/oauth2-yahoo": "Needed for Yahoo XOAUTH2 authentication", - "league/oauth2-google": "Needed for Google XOAUTH2 authentication", - "psr/log": "For optional PSR-3 debug logging", - "stevenmaguire/oauth2-microsoft": "Needed for Microsoft XOAUTH2 authentication", - "symfony/polyfill-mbstring": "To support UTF-8 if the Mbstring PHP extension is not enabled (^1.2)" - }, - "type": "library", - "autoload": { - "psr-4": { - "PHPMailer\\PHPMailer\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "LGPL-2.1-only" - ], - "authors": [ - { - "name": "Marcus Bointon", - "email": "phpmailer@synchromedia.co.uk" - }, - { - "name": "Jim Jagielski", - "email": "jimjag@gmail.com" - }, - { - "name": "Andy Prevost", - "email": "codeworxtech@users.sourceforge.net" - }, - { - "name": "Brent R. Matzelle" - } - ], - "description": "PHPMailer is a full-featured email creation and transfer class for PHP", - "support": { - "issues": "https://github.com/PHPMailer/PHPMailer/issues", - "source": "https://github.com/PHPMailer/PHPMailer/tree/v6.5.4" - }, - "funding": [ - { - "url": "https://github.com/Synchro", - "type": "github" - } - ], - "time": "2022-02-17T08:19:04+00:00" - }, - { - "name": "psr/log", - "version": "1.1.4", - "source": { - "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "d49695b909c3b7628b6289db5479a1c204601f11" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/d49695b909c3b7628b6289db5479a1c204601f11", - "reference": "d49695b909c3b7628b6289db5479a1c204601f11", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.1.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Log\\": "Psr/Log/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" - } - ], - "description": "Common interface for logging libraries", - "homepage": "https://github.com/php-fig/log", - "keywords": [ - "log", - "psr", - "psr-3" - ], - "support": { - "source": "https://github.com/php-fig/log/tree/1.1.4" - }, - "time": "2021-05-03T11:20:27+00:00" - }, - { - "name": "sylvainjule/matomo", - "version": "1.0.7", - "source": { - "type": "git", - "url": "https://github.com/sylvainjule/kirby-matomo.git", - "reference": "8662f8ec074369c605cb186b245a797c9bbbe68d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sylvainjule/kirby-matomo/zipball/8662f8ec074369c605cb186b245a797c9bbbe68d", - "reference": "8662f8ec074369c605cb186b245a797c9bbbe68d", - "shasum": "" - }, - "require": { - "getkirby/composer-installer": "^1.1" - }, - "type": "kirby-plugin", - "extra": { - "installer-name": "matomo" - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Sylvain Julé", - "email": "contact@sylvain-jule.fr" - } - ], - "description": "Matomo helpers and panel sections for Kirby", - "support": { - "issues": "https://github.com/sylvainjule/kirby-matomo/issues", - "source": "https://github.com/sylvainjule/kirby-matomo/tree/1.0.7" - }, - "time": "2021-11-20T01:20:25+00:00" - }, - { - "name": "symfony/polyfill-ctype", - "version": "v1.25.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "30885182c981ab175d4d034db0f6f469898070ab" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/30885182c981ab175d4d034db0f6f469898070ab", - "reference": "30885182c981ab175d4d034db0f6f469898070ab", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "provide": { - "ext-ctype": "*" - }, - "suggest": { - "ext-ctype": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.23-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Ctype\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Gert de Pagter", - "email": "BackEndTea@gmail.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for ctype functions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "ctype", - "polyfill", - "portable" - ], - "support": { - "source": "https://github.com/symfony/polyfill-ctype/tree/v1.25.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-10-20T20:35:02+00:00" - }, - { - "name": "symfony/polyfill-intl-idn", - "version": "v1.24.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-intl-idn.git", - "reference": "749045c69efb97c70d25d7463abba812e91f3a44" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/749045c69efb97c70d25d7463abba812e91f3a44", - "reference": "749045c69efb97c70d25d7463abba812e91f3a44", - "shasum": "" - }, - "require": { - "php": ">=7.1", - "symfony/polyfill-intl-normalizer": "^1.10", - "symfony/polyfill-php72": "^1.10" - }, - "suggest": { - "ext-intl": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.23-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Intl\\Idn\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Laurent Bassin", - "email": "laurent@bassin.info" - }, - { - "name": "Trevor Rowbotham", - "email": "trevor.rowbotham@pm.me" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for intl's idn_to_ascii and idn_to_utf8 functions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "idn", - "intl", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.24.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-09-14T14:02:44+00:00" - }, - { - "name": "symfony/polyfill-intl-normalizer", - "version": "v1.25.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-intl-normalizer.git", - "reference": "8590a5f561694770bdcd3f9b5c69dde6945028e8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/8590a5f561694770bdcd3f9b5c69dde6945028e8", - "reference": "8590a5f561694770bdcd3f9b5c69dde6945028e8", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "suggest": { - "ext-intl": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.23-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Intl\\Normalizer\\": "" - }, - "classmap": [ - "Resources/stubs" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for intl's Normalizer class and related functions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "intl", - "normalizer", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.25.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-02-19T12:13:01+00:00" - }, - { - "name": "symfony/polyfill-mbstring", - "version": "v1.24.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "0abb51d2f102e00a4eefcf46ba7fec406d245825" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/0abb51d2f102e00a4eefcf46ba7fec406d245825", - "reference": "0abb51d2f102e00a4eefcf46ba7fec406d245825", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "provide": { - "ext-mbstring": "*" - }, - "suggest": { - "ext-mbstring": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.23-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Mbstring\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for the Mbstring extension", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "mbstring", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.24.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-11-30T18:21:41+00:00" - }, - { - "name": "twig/twig", - "version": "v3.3.8", - "source": { - "type": "git", - "url": "https://github.com/twigphp/Twig.git", - "reference": "972d8604a92b7054828b539f2febb0211dd5945c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/twigphp/Twig/zipball/972d8604a92b7054828b539f2febb0211dd5945c", - "reference": "972d8604a92b7054828b539f2febb0211dd5945c", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "symfony/polyfill-ctype": "^1.8", - "symfony/polyfill-mbstring": "^1.3" - }, - "require-dev": { - "psr/container": "^1.0", - "symfony/phpunit-bridge": "^4.4.9|^5.0.9|^6.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.3-dev" - } - }, - "autoload": { - "psr-4": { - "Twig\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com", - "homepage": "http://fabien.potencier.org", - "role": "Lead Developer" - }, - { - "name": "Twig Team", - "role": "Contributors" - }, - { - "name": "Armin Ronacher", - "email": "armin.ronacher@active-4.com", - "role": "Project Founder" - } - ], - "description": "Twig, the flexible, fast, and secure template language for PHP", - "homepage": "https://twig.symfony.com", - "keywords": [ - "templating" - ], - "support": { - "issues": "https://github.com/twigphp/Twig/issues", - "source": "https://github.com/twigphp/Twig/tree/v3.3.8" - }, - "funding": [ - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/twig/twig", - "type": "tidelift" - } - ], - "time": "2022-02-04T06:59:48+00:00" - } - ], - "packages-dev": [], - "aliases": [], - "minimum-stability": "stable", - "stability-flags": [], - "prefer-stable": false, - "prefer-lowest": false, - "platform": { - "php": ">=7.3.0 <8.1.0" - }, - "platform-dev": [], - "plugin-api-version": "2.1.0" + "_readme": [ + "This file locks the dependencies of your project to a known state", + "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", + "This file is @generated automatically" + ], + "content-hash": "fac28f73cea5cec843631a10a9a4e395", + "packages": [ + { + "name": "amteich/kirby-twig", + "version": "4.1.6", + "source": { + "type": "git", + "url": "https://github.com/amteich/kirby-twig.git", + "reference": "d7f5535a24211702a76bde5c7f59aaf23904efab" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/amteich/kirby-twig/zipball/d7f5535a24211702a76bde5c7f59aaf23904efab", + "reference": "d7f5535a24211702a76bde5c7f59aaf23904efab", + "shasum": "" + }, + "require": { + "getkirby/composer-installer": "^1.1", + "twig/twig": "^3.0" + }, + "type": "kirby-plugin", + "autoload": { + "psr-4": { + "amteich\\Twig\\": "src/classes/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Christian Zehetner", + "email": "christian@am-teich.com" + }, + { + "name": "Florens Verschelde", + "email": "florens@fvsch.com" + } + ], + "description": "Twig templating support for Kirby CMS", + "support": { + "issues": "https://github.com/amteich/kirby-twig/issues", + "source": "https://github.com/amteich/kirby-twig/tree/4.1.6" + }, + "time": "2022-01-03T09:07:58+00:00" + }, + { + "name": "claviska/simpleimage", + "version": "3.6.5", + "source": { + "type": "git", + "url": "https://github.com/claviska/SimpleImage.git", + "reference": "00f90662686696b9b7157dbb176183aabe89700f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/claviska/SimpleImage/zipball/00f90662686696b9b7157dbb176183aabe89700f", + "reference": "00f90662686696b9b7157dbb176183aabe89700f", + "shasum": "" + }, + "require": { + "ext-gd": "*", + "league/color-extractor": "0.3.*", + "php": ">=5.6.0" + }, + "type": "library", + "autoload": { + "psr-0": { + "claviska": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Cory LaViska", + "homepage": "http://www.abeautifulsite.net/", + "role": "Developer" + } + ], + "description": "A PHP class that makes working with images as simple as possible.", + "support": { + "issues": "https://github.com/claviska/SimpleImage/issues", + "source": "https://github.com/claviska/SimpleImage/tree/3.6.5" + }, + "funding": [ + { + "url": "https://github.com/claviska", + "type": "github" + } + ], + "time": "2021-12-01T12:42:55+00:00" + }, + { + "name": "filp/whoops", + "version": "2.14.5", + "source": { + "type": "git", + "url": "https://github.com/filp/whoops.git", + "reference": "a63e5e8f26ebbebf8ed3c5c691637325512eb0dc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/filp/whoops/zipball/a63e5e8f26ebbebf8ed3c5c691637325512eb0dc", + "reference": "a63e5e8f26ebbebf8ed3c5c691637325512eb0dc", + "shasum": "" + }, + "require": { + "php": "^5.5.9 || ^7.0 || ^8.0", + "psr/log": "^1.0.1 || ^2.0 || ^3.0" + }, + "require-dev": { + "mockery/mockery": "^0.9 || ^1.0", + "phpunit/phpunit": "^4.8.36 || ^5.7.27 || ^6.5.14 || ^7.5.20 || ^8.5.8 || ^9.3.3", + "symfony/var-dumper": "^2.6 || ^3.0 || ^4.0 || ^5.0" + }, + "suggest": { + "symfony/var-dumper": "Pretty print complex values better with var-dumper available", + "whoops/soap": "Formats errors as SOAP responses" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.7-dev" + } + }, + "autoload": { + "psr-4": { + "Whoops\\": "src/Whoops/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Filipe Dobreira", + "homepage": "https://github.com/filp", + "role": "Developer" + } + ], + "description": "php error handling for cool kids", + "homepage": "https://filp.github.io/whoops/", + "keywords": [ + "error", + "exception", + "handling", + "library", + "throwable", + "whoops" + ], + "support": { + "issues": "https://github.com/filp/whoops/issues", + "source": "https://github.com/filp/whoops/tree/2.14.5" + }, + "funding": [ + { + "url": "https://github.com/denis-sokolov", + "type": "github" + } + ], + "time": "2022-01-07T12:00:00+00:00" + }, + { + "name": "getkirby/cms", + "version": "3.6.3", + "source": { + "type": "git", + "url": "https://github.com/getkirby/kirby.git", + "reference": "6b20fa11843f57cd9a1e611bc9e8e8a91b855156" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/getkirby/kirby/zipball/6b20fa11843f57cd9a1e611bc9e8e8a91b855156", + "reference": "6b20fa11843f57cd9a1e611bc9e8e8a91b855156", + "shasum": "" + }, + "require": { + "claviska/simpleimage": "3.6.5", + "ext-ctype": "*", + "ext-mbstring": "*", + "filp/whoops": "2.14.5", + "getkirby/composer-installer": "^1.2.1", + "laminas/laminas-escaper": "2.9.0", + "michelf/php-smartypants": "1.8.1", + "php": ">=7.4.0 <8.2.0", + "phpmailer/phpmailer": "6.5.4", + "psr/log": "1.1.4", + "symfony/polyfill-intl-idn": "1.24.0", + "symfony/polyfill-mbstring": "1.24.0" + }, + "replace": { + "symfony/polyfill-php72": "*" + }, + "type": "kirby-cms", + "extra": { + "unused": [ + "symfony/polyfill-intl-idn" + ] + }, + "autoload": { + "files": [ + "config/setup.php", + "config/helpers.php" + ], + "psr-4": { + "Kirby\\": "src/" + }, + "classmap": [ + "dependencies/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "authors": [ + { + "name": "Kirby Team", + "email": "support@getkirby.com", + "homepage": "https://getkirby.com" + } + ], + "description": "The Kirby 3 core", + "homepage": "https://getkirby.com", + "keywords": [ + "cms", + "core", + "kirby" + ], + "support": { + "email": "support@getkirby.com", + "forum": "https://forum.getkirby.com", + "issues": "https://github.com/getkirby/kirby/issues", + "source": "https://github.com/getkirby/kirby" + }, + "funding": [ + { + "url": "https://getkirby.com/buy", + "type": "custom" + } + ], + "time": "2022-03-22T09:36:50+00:00" + }, + { + "name": "getkirby/composer-installer", + "version": "1.2.1", + "source": { + "type": "git", + "url": "https://github.com/getkirby/composer-installer.git", + "reference": "c98ece30bfba45be7ce457e1102d1b169d922f3d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/getkirby/composer-installer/zipball/c98ece30bfba45be7ce457e1102d1b169d922f3d", + "reference": "c98ece30bfba45be7ce457e1102d1b169d922f3d", + "shasum": "" + }, + "require": { + "composer-plugin-api": "^1.0 || ^2.0" + }, + "require-dev": { + "composer/composer": "^1.8 || ^2.0" + }, + "type": "composer-plugin", + "extra": { + "class": "Kirby\\ComposerInstaller\\Plugin" + }, + "autoload": { + "psr-4": { + "Kirby\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Kirby's custom Composer installer for the Kirby CMS and for Kirby plugins", + "homepage": "https://getkirby.com", + "support": { + "issues": "https://github.com/getkirby/composer-installer/issues", + "source": "https://github.com/getkirby/composer-installer/tree/1.2.1" + }, + "funding": [ + { + "url": "https://getkirby.com/buy", + "type": "custom" + } + ], + "time": "2020-12-28T12:54:39+00:00" + }, + { + "name": "kirbyzone/sitemapper", + "version": "1.2.1", + "source": { + "type": "git", + "url": "https://github.com/kirbyzone/sitemapper.git", + "reference": "f94551265d222bae844ad29d0a6a5b5f3737aa48" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/kirbyzone/sitemapper/zipball/f94551265d222bae844ad29d0a6a5b5f3737aa48", + "reference": "f94551265d222bae844ad29d0a6a5b5f3737aa48", + "shasum": "" + }, + "require": { + "getkirby/composer-installer": "^1.1" + }, + "type": "kirby-plugin", + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Kirbyzone", + "email": "support@kirby.zone", + "homepage": "https://kirby.zone" + } + ], + "description": "Kirbyzone's Automatic Sitemap Generator Plugin for Kirby", + "homepage": "https://github.com/kirbyzone/sitemapper", + "support": { + "issues": "https://github.com/kirbyzone/sitemapper/issues", + "source": "https://github.com/kirbyzone/sitemapper" + }, + "time": "2021-08-16T07:29:36+00:00" + }, + { + "name": "laminas/laminas-escaper", + "version": "2.9.0", + "source": { + "type": "git", + "url": "https://github.com/laminas/laminas-escaper.git", + "reference": "891ad70986729e20ed2e86355fcf93c9dc238a5f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laminas/laminas-escaper/zipball/891ad70986729e20ed2e86355fcf93c9dc238a5f", + "reference": "891ad70986729e20ed2e86355fcf93c9dc238a5f", + "shasum": "" + }, + "require": { + "php": "^7.3 || ~8.0.0 || ~8.1.0" + }, + "conflict": { + "zendframework/zend-escaper": "*" + }, + "require-dev": { + "laminas/laminas-coding-standard": "~2.3.0", + "phpunit/phpunit": "^9.3", + "psalm/plugin-phpunit": "^0.12.2", + "vimeo/psalm": "^3.16" + }, + "suggest": { + "ext-iconv": "*", + "ext-mbstring": "*" + }, + "type": "library", + "autoload": { + "psr-4": { + "Laminas\\Escaper\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "Securely and safely escape HTML, HTML attributes, JavaScript, CSS, and URLs", + "homepage": "https://laminas.dev", + "keywords": [ + "escaper", + "laminas" + ], + "support": { + "chat": "https://laminas.dev/chat", + "docs": "https://docs.laminas.dev/laminas-escaper/", + "forum": "https://discourse.laminas.dev", + "issues": "https://github.com/laminas/laminas-escaper/issues", + "rss": "https://github.com/laminas/laminas-escaper/releases.atom", + "source": "https://github.com/laminas/laminas-escaper" + }, + "funding": [ + { + "url": "https://funding.communitybridge.org/projects/laminas-project", + "type": "community_bridge" + } + ], + "time": "2021-09-02T17:10:53+00:00" + }, + { + "name": "league/color-extractor", + "version": "0.3.2", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/color-extractor.git", + "reference": "837086ec60f50c84c611c613963e4ad2e2aec806" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/color-extractor/zipball/837086ec60f50c84c611c613963e4ad2e2aec806", + "reference": "837086ec60f50c84c611c613963e4ad2e2aec806", + "shasum": "" + }, + "require": { + "ext-gd": "*", + "php": ">=5.4.0" + }, + "replace": { + "matthecat/colorextractor": "*" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "~2", + "phpunit/phpunit": "~5" + }, + "type": "library", + "autoload": { + "psr-4": { + "": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mathieu Lechat", + "email": "math.lechat@gmail.com", + "homepage": "http://matthecat.com", + "role": "Developer" + } + ], + "description": "Extract colors from an image as a human would do.", + "homepage": "https://github.com/thephpleague/color-extractor", + "keywords": [ + "color", + "extract", + "human", + "image", + "palette" + ], + "support": { + "issues": "https://github.com/thephpleague/color-extractor/issues", + "source": "https://github.com/thephpleague/color-extractor/tree/master" + }, + "time": "2016-12-15T09:30:02+00:00" + }, + { + "name": "michelf/php-smartypants", + "version": "1.8.1", + "source": { + "type": "git", + "url": "https://github.com/michelf/php-smartypants.git", + "reference": "47d17c90a4dfd0ccf1f87e25c65e6c8012415aad" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/michelf/php-smartypants/zipball/47d17c90a4dfd0ccf1f87e25c65e6c8012415aad", + "reference": "47d17c90a4dfd0ccf1f87e25c65e6c8012415aad", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "autoload": { + "psr-0": { + "Michelf": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Michel Fortin", + "email": "michel.fortin@michelf.ca", + "homepage": "https://michelf.ca/", + "role": "Developer" + }, + { + "name": "John Gruber", + "homepage": "https://daringfireball.net/" + } + ], + "description": "PHP SmartyPants", + "homepage": "https://michelf.ca/projects/php-smartypants/", + "keywords": [ + "dashes", + "quotes", + "spaces", + "typographer", + "typography" + ], + "support": { + "issues": "https://github.com/michelf/php-smartypants/issues", + "source": "https://github.com/michelf/php-smartypants/tree/1.8.1" + }, + "time": "2016-12-13T01:01:17+00:00" + }, + { + "name": "mullema/k3-image-clip", + "version": "3.0.0", + "source": { + "type": "git", + "url": "https://github.com/mullema/k3-image-clip.git", + "reference": "ac6a4a461ae8972557da24755005a3937a275b0c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/mullema/k3-image-clip/zipball/ac6a4a461ae8972557da24755005a3937a275b0c", + "reference": "ac6a4a461ae8972557da24755005a3937a275b0c", + "shasum": "" + }, + "require": { + "getkirby/composer-installer": "^1.2" + }, + "type": "kirby-plugin", + "extra": { + "installer-name": "k3-image-clip" + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Matthias Müller", + "email": "moeli@moeli.com", + "homepage": "https://getkirby.com/plugins/mullema" + } + ], + "description": "Visual image clip for Kirby 3", + "support": { + "issues": "https://github.com/mullema/k3-image-clip/issues", + "source": "https://github.com/mullema/k3-image-clip/tree/3.0.0" + }, + "time": "2021-12-05T21:47:42+00:00" + }, + { + "name": "phpmailer/phpmailer", + "version": "v6.5.4", + "source": { + "type": "git", + "url": "https://github.com/PHPMailer/PHPMailer.git", + "reference": "c0d9f7dd3c2aa247ca44791e9209233829d82285" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/PHPMailer/PHPMailer/zipball/c0d9f7dd3c2aa247ca44791e9209233829d82285", + "reference": "c0d9f7dd3c2aa247ca44791e9209233829d82285", + "shasum": "" + }, + "require": { + "ext-ctype": "*", + "ext-filter": "*", + "ext-hash": "*", + "php": ">=5.5.0" + }, + "require-dev": { + "dealerdirect/phpcodesniffer-composer-installer": "^0.7.0", + "doctrine/annotations": "^1.2", + "php-parallel-lint/php-console-highlighter": "^0.5.0", + "php-parallel-lint/php-parallel-lint": "^1.3.1", + "phpcompatibility/php-compatibility": "^9.3.5", + "roave/security-advisories": "dev-latest", + "squizlabs/php_codesniffer": "^3.6.2", + "yoast/phpunit-polyfills": "^1.0.0" + }, + "suggest": { + "ext-mbstring": "Needed to send email in multibyte encoding charset or decode encoded addresses", + "hayageek/oauth2-yahoo": "Needed for Yahoo XOAUTH2 authentication", + "league/oauth2-google": "Needed for Google XOAUTH2 authentication", + "psr/log": "For optional PSR-3 debug logging", + "stevenmaguire/oauth2-microsoft": "Needed for Microsoft XOAUTH2 authentication", + "symfony/polyfill-mbstring": "To support UTF-8 if the Mbstring PHP extension is not enabled (^1.2)" + }, + "type": "library", + "autoload": { + "psr-4": { + "PHPMailer\\PHPMailer\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL-2.1-only" + ], + "authors": [ + { + "name": "Marcus Bointon", + "email": "phpmailer@synchromedia.co.uk" + }, + { + "name": "Jim Jagielski", + "email": "jimjag@gmail.com" + }, + { + "name": "Andy Prevost", + "email": "codeworxtech@users.sourceforge.net" + }, + { + "name": "Brent R. Matzelle" + } + ], + "description": "PHPMailer is a full-featured email creation and transfer class for PHP", + "support": { + "issues": "https://github.com/PHPMailer/PHPMailer/issues", + "source": "https://github.com/PHPMailer/PHPMailer/tree/v6.5.4" + }, + "funding": [ + { + "url": "https://github.com/Synchro", + "type": "github" + } + ], + "time": "2022-02-17T08:19:04+00:00" + }, + { + "name": "psr/log", + "version": "1.1.4", + "source": { + "type": "git", + "url": "https://github.com/php-fig/log.git", + "reference": "d49695b909c3b7628b6289db5479a1c204601f11" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/log/zipball/d49695b909c3b7628b6289db5479a1c204601f11", + "reference": "d49695b909c3b7628b6289db5479a1c204601f11", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Log\\": "Psr/Log/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interface for logging libraries", + "homepage": "https://github.com/php-fig/log", + "keywords": [ + "log", + "psr", + "psr-3" + ], + "support": { + "source": "https://github.com/php-fig/log/tree/1.1.4" + }, + "time": "2021-05-03T11:20:27+00:00" + }, + { + "name": "sylvainjule/matomo", + "version": "1.0.7", + "source": { + "type": "git", + "url": "https://github.com/sylvainjule/kirby-matomo.git", + "reference": "8662f8ec074369c605cb186b245a797c9bbbe68d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sylvainjule/kirby-matomo/zipball/8662f8ec074369c605cb186b245a797c9bbbe68d", + "reference": "8662f8ec074369c605cb186b245a797c9bbbe68d", + "shasum": "" + }, + "require": { + "getkirby/composer-installer": "^1.1" + }, + "type": "kirby-plugin", + "extra": { + "installer-name": "matomo" + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Sylvain Julé", + "email": "contact@sylvain-jule.fr" + } + ], + "description": "Matomo helpers and panel sections for Kirby", + "support": { + "issues": "https://github.com/sylvainjule/kirby-matomo/issues", + "source": "https://github.com/sylvainjule/kirby-matomo/tree/1.0.7" + }, + "time": "2021-11-20T01:20:25+00:00" + }, + { + "name": "symfony/polyfill-ctype", + "version": "v1.25.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-ctype.git", + "reference": "30885182c981ab175d4d034db0f6f469898070ab" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/30885182c981ab175d4d034db0f6f469898070ab", + "reference": "30885182c981ab175d4d034db0f6f469898070ab", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "provide": { + "ext-ctype": "*" + }, + "suggest": { + "ext-ctype": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.23-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Ctype\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Gert de Pagter", + "email": "BackEndTea@gmail.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for ctype functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "ctype", + "polyfill", + "portable" + ], + "support": { + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.25.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-10-20T20:35:02+00:00" + }, + { + "name": "symfony/polyfill-intl-idn", + "version": "v1.24.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-idn.git", + "reference": "749045c69efb97c70d25d7463abba812e91f3a44" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/749045c69efb97c70d25d7463abba812e91f3a44", + "reference": "749045c69efb97c70d25d7463abba812e91f3a44", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "symfony/polyfill-intl-normalizer": "^1.10", + "symfony/polyfill-php72": "^1.10" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.23-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Intl\\Idn\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Laurent Bassin", + "email": "laurent@bassin.info" + }, + { + "name": "Trevor Rowbotham", + "email": "trevor.rowbotham@pm.me" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for intl's idn_to_ascii and idn_to_utf8 functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "idn", + "intl", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.24.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-09-14T14:02:44+00:00" + }, + { + "name": "symfony/polyfill-intl-normalizer", + "version": "v1.25.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-normalizer.git", + "reference": "8590a5f561694770bdcd3f9b5c69dde6945028e8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/8590a5f561694770bdcd3f9b5c69dde6945028e8", + "reference": "8590a5f561694770bdcd3f9b5c69dde6945028e8", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.23-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Intl\\Normalizer\\": "" + }, + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for intl's Normalizer class and related functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "intl", + "normalizer", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.25.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-02-19T12:13:01+00:00" + }, + { + "name": "symfony/polyfill-mbstring", + "version": "v1.24.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "0abb51d2f102e00a4eefcf46ba7fec406d245825" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/0abb51d2f102e00a4eefcf46ba7fec406d245825", + "reference": "0abb51d2f102e00a4eefcf46ba7fec406d245825", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "provide": { + "ext-mbstring": "*" + }, + "suggest": { + "ext-mbstring": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.23-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Mbstring\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for the Mbstring extension", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "mbstring", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.24.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-11-30T18:21:41+00:00" + }, + { + "name": "twig/twig", + "version": "v3.3.8", + "source": { + "type": "git", + "url": "https://github.com/twigphp/Twig.git", + "reference": "972d8604a92b7054828b539f2febb0211dd5945c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/twigphp/Twig/zipball/972d8604a92b7054828b539f2febb0211dd5945c", + "reference": "972d8604a92b7054828b539f2febb0211dd5945c", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/polyfill-ctype": "^1.8", + "symfony/polyfill-mbstring": "^1.3" + }, + "require-dev": { + "psr/container": "^1.0", + "symfony/phpunit-bridge": "^4.4.9|^5.0.9|^6.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.3-dev" + } + }, + "autoload": { + "psr-4": { + "Twig\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com", + "homepage": "http://fabien.potencier.org", + "role": "Lead Developer" + }, + { + "name": "Twig Team", + "role": "Contributors" + }, + { + "name": "Armin Ronacher", + "email": "armin.ronacher@active-4.com", + "role": "Project Founder" + } + ], + "description": "Twig, the flexible, fast, and secure template language for PHP", + "homepage": "https://twig.symfony.com", + "keywords": [ + "templating" + ], + "support": { + "issues": "https://github.com/twigphp/Twig/issues", + "source": "https://github.com/twigphp/Twig/tree/v3.3.8" + }, + "funding": [ + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/twig/twig", + "type": "tidelift" + } + ], + "time": "2022-02-04T06:59:48+00:00" + } + ], + "packages-dev": [], + "aliases": [], + "minimum-stability": "stable", + "stability-flags": [], + "prefer-stable": false, + "prefer-lowest": false, + "platform": { + "php": ">=7.3.0 <8.1.0" + }, + "platform-dev": [], + "plugin-api-version": "2.1.0" } diff --git a/site/blueprints/files/artwork.yml b/site/blueprints/files/artwork.yml index 4ea70bd..f7fe077 100644 --- a/site/blueprints/files/artwork.yml +++ b/site/blueprints/files/artwork.yml @@ -1,34 +1,34 @@ title: Artwork accept: - mime: image/jpeg, image/png, video/mp4 + mime: image/jpeg, image/png, video/mp4 fields: - alt_text: - when: - file_type: image - label: - en: Alternative text - fr: Texte alternatif - type: text - poster: - when: - file_type: video - label: - en: Poster - fr: Vignette - type: files - uploads: image - layout: cards - image: - ratio: 16/9 - cover: true - back: white - multiple: false - help: - en: "Image displayed before video playback (format: JPEG or PNG). The first image of the video is used if this field is empty." - fr: "Image affichée avant la lecture de la vidéo (format : JPEG ou PNG). La première image de la vidéo est utilisée si ce champ est vide." - width: 1/4 - caption: - label: - en: Caption - fr: Légende - type: text + alt_text: + when: + file_type: image + label: + en: Alternative text + fr: Texte alternatif + type: text + poster: + when: + file_type: video + label: + en: Poster + fr: Vignette + type: files + uploads: image + layout: cards + image: + ratio: 16/9 + cover: true + back: white + multiple: false + help: + en: "Image displayed before video playback (format: JPEG or PNG). The first image of the video is used if this field is empty." + fr: "Image affichée avant la lecture de la vidéo (format : JPEG ou PNG). La première image de la vidéo est utilisée si ce champ est vide." + width: 1/4 + caption: + label: + en: Caption + fr: Légende + type: text diff --git a/site/blueprints/files/image.yml b/site/blueprints/files/image.yml index d6e5d12..4a5142c 100644 --- a/site/blueprints/files/image.yml +++ b/site/blueprints/files/image.yml @@ -1,14 +1,14 @@ title: Image accept: - mime: image/jpeg, image/png + mime: image/jpeg, image/png fields: - alt_text: - label: - en: Alternative text - fr: Texte alternatif - type: text - caption: - label: - en: Caption - fr: Légende - type: text + alt_text: + label: + en: Alternative text + fr: Texte alternatif + type: text + caption: + label: + en: Caption + fr: Légende + type: text diff --git a/site/blueprints/pages/biography.yml b/site/blueprints/pages/biography.yml index 9cd57d4..6c66e45 100644 --- a/site/blueprints/pages/biography.yml +++ b/site/blueprints/pages/biography.yml @@ -1,21 +1,21 @@ title: - en: Biography - fr: Biographie + en: Biography + fr: Biographie icon: text status: - draft: true - unlisted: true + draft: true + unlisted: true options: - changeSlug: - admin: true - editor: false - changeStatus: false - changeTemplate: false - changeTitle: - admin: true - editor: false - delete: false - duplicate: false + changeSlug: + admin: true + editor: false + changeStatus: false + changeTemplate: false + changeTitle: + admin: true + editor: false + delete: false + duplicate: false tabs: - content: tabs/biography_content - seo: tabs/biography_seo + content: tabs/biography_content + seo: tabs/biography_seo diff --git a/site/blueprints/pages/error.yml b/site/blueprints/pages/error.yml index f3c8a00..dc416e4 100644 --- a/site/blueprints/pages/error.yml +++ b/site/blueprints/pages/error.yml @@ -1,5 +1,5 @@ title: - en: Error - fr: Erreur + en: Error + fr: Erreur options: - read: false + read: false diff --git a/site/blueprints/pages/gallery.yml b/site/blueprints/pages/gallery.yml index 535d410..0278379 100644 --- a/site/blueprints/pages/gallery.yml +++ b/site/blueprints/pages/gallery.yml @@ -1,10 +1,10 @@ title: - en: Gallery - fr: Galerie + en: Gallery + fr: Galerie icon: file-image status: - draft: true - listed: true + draft: true + listed: true tabs: - content: tabs/gallery_content - seo: tabs/gallery_seo + content: tabs/gallery_content + seo: tabs/gallery_seo diff --git a/site/blueprints/pages/home.yml b/site/blueprints/pages/home.yml index c2efa6f..2c346ae 100644 --- a/site/blueprints/pages/home.yml +++ b/site/blueprints/pages/home.yml @@ -1,21 +1,21 @@ title: - en: Home - fr: Accueil + en: Home + fr: Accueil icon: home status: - draft: true - unlisted: true + draft: true + unlisted: true options: - changeSlug: - admin: true - editor: false - changeStatus: false - changeTemplate: false - changeTitle: - admin: true - editor: false - delete: false - duplicate: false + changeSlug: + admin: true + editor: false + changeStatus: false + changeTemplate: false + changeTitle: + admin: true + editor: false + delete: false + duplicate: false tabs: - content: tabs/home_content - seo: tabs/home_seo + content: tabs/home_content + seo: tabs/home_seo diff --git a/site/blueprints/sections/biography_content_presentation.yml b/site/blueprints/sections/biography_content_presentation.yml index 6c06eb8..5581528 100644 --- a/site/blueprints/sections/biography_content_presentation.yml +++ b/site/blueprints/sections/biography_content_presentation.yml @@ -1,20 +1,20 @@ type: fields fields: - text: - label: - en: Presentation text - fr: Texte de présentation - type: textarea - required: true - size: large - buttons: - - headlines - - '|' - - bold - - italic - - '|' - - link - - email - - '|' - - ul - - '|' + text: + label: + en: Presentation text + fr: Texte de présentation + type: textarea + required: true + size: large + buttons: + - headlines + - '|' + - bold + - italic + - '|' + - link + - email + - '|' + - ul + - '|' diff --git a/site/blueprints/sections/gallery_content_artworks.yml b/site/blueprints/sections/gallery_content_artworks.yml index aea5a95..c4ffedb 100644 --- a/site/blueprints/sections/gallery_content_artworks.yml +++ b/site/blueprints/sections/gallery_content_artworks.yml @@ -1,6 +1,6 @@ headline: - en: Artworks - fr: Œuvres + en: Artworks + fr: Œuvres type: files template: artwork min: 1 @@ -8,5 +8,5 @@ layout: cards size: small limit: 40 image: - ratio: 1/1 - back: white + ratio: 1/1 + back: white diff --git a/site/blueprints/sections/gallery_content_introduction.yml b/site/blueprints/sections/gallery_content_introduction.yml index f29a5fe..f2bc21a 100644 --- a/site/blueprints/sections/gallery_content_introduction.yml +++ b/site/blueprints/sections/gallery_content_introduction.yml @@ -1,19 +1,19 @@ type: fields fields: - text: - label: - en: Introduction text - fr: Texte d'introduction - type: textarea - size: medium - buttons: - - headlines - - '|' - - bold - - italic - - '|' - - link - - email - - '|' - - ul - - '|' + text: + label: + en: Introduction text + fr: Texte d'introduction + type: textarea + size: medium + buttons: + - headlines + - '|' + - bold + - italic + - '|' + - link + - email + - '|' + - ul + - '|' diff --git a/site/blueprints/sections/generic_seo_metadata.yml b/site/blueprints/sections/generic_seo_metadata.yml index d7c9121..28365ec 100644 --- a/site/blueprints/sections/generic_seo_metadata.yml +++ b/site/blueprints/sections/generic_seo_metadata.yml @@ -1,43 +1,43 @@ type: fields fields: - meta_description: - label: - en: Meta description - fr: Méta description - type: textarea - size: small - buttons: false - help: - en: "Short description of the page displayed by search engines and social networks (recommended maximum length: 160 characters). Home page meta description is used if this field is empty." - fr: "Courte description de la page affichée par les moteurs de recherche et les réseaux sociaux (taille maximale conseillée : 160 caractères). La méta description de la page d'accueil est utilisée si ce champ est vide." - width: 3/4 - gap: - type: gap - width: 1/4 - meta_image: - label: - en: Meta image - fr: Méta image - type: image-clip - query: page.images - uploads: image - layout: cards - image: - cover: true - back: white - multiple: false - clip: - minwidth: 1200 - minheight: 675 - ratio: fixed - help: - en: "Image displayed by social networks (format: JPEG or PNG). Home page meta image is used if this field is empty." - fr: "Image affichée par les réseaux sociaux (format : JPEG ou PNG). La méta image de la page d'accueil est utilisée si ce champ est vide." - width: 1/4 - # Hidden fields - og_type: - type: hidden - default: article - twitter_card_type: - type: hidden - default: summary_large_image + meta_description: + label: + en: Meta description + fr: Méta description + type: textarea + size: small + buttons: false + help: + en: "Short description of the page displayed by search engines and social networks (recommended maximum length: 160 characters). Home page meta description is used if this field is empty." + fr: "Courte description de la page affichée par les moteurs de recherche et les réseaux sociaux (taille maximale conseillée : 160 caractères). La méta description de la page d'accueil est utilisée si ce champ est vide." + width: 3/4 + gap: + type: gap + width: 1/4 + meta_image: + label: + en: Meta image + fr: Méta image + type: image-clip + query: page.images + uploads: image + layout: cards + image: + cover: true + back: white + multiple: false + clip: + minwidth: 1200 + minheight: 675 + ratio: fixed + help: + en: "Image displayed by social networks (format: JPEG or PNG). Home page meta image is used if this field is empty." + fr: "Image affichée par les réseaux sociaux (format : JPEG ou PNG). La méta image de la page d'accueil est utilisée si ce champ est vide." + width: 1/4 + # Hidden fields + og_type: + type: hidden + default: article + twitter_card_type: + type: hidden + default: summary_large_image diff --git a/site/blueprints/sections/home_content_background_image.yml b/site/blueprints/sections/home_content_background_image.yml index fce5978..7b1ac27 100644 --- a/site/blueprints/sections/home_content_background_image.yml +++ b/site/blueprints/sections/home_content_background_image.yml @@ -1,6 +1,6 @@ headline: - en: Background image - fr: Image de fond + en: Background image + fr: Image de fond type: files template: image min: 1 @@ -8,5 +8,5 @@ max: 1 layout: cards size: medium image: - ratio: 1/1 - back: white + ratio: 1/1 + back: white diff --git a/site/blueprints/sections/home_content_contact.yml b/site/blueprints/sections/home_content_contact.yml index dfe4b6c..81c3713 100644 --- a/site/blueprints/sections/home_content_contact.yml +++ b/site/blueprints/sections/home_content_contact.yml @@ -1,18 +1,18 @@ headline: - en: Contact and social networks - fr: Contact et réseaux sociaux + en: Contact and social networks + fr: Contact et réseaux sociaux type: fields fields: - email: - label: - en: Email - fr: Adresse e-mail - type: email - required: true - instagram: - type: url - label: - en: Instagram account - fr: Compte Instagram - icon: instagram - required: true + email: + label: + en: Email + fr: Adresse e-mail + type: email + required: true + instagram: + type: url + label: + en: Instagram account + fr: Compte Instagram + icon: instagram + required: true diff --git a/site/blueprints/sections/home_seo_metadata.yml b/site/blueprints/sections/home_seo_metadata.yml index a37ea1d..a7219c1 100644 --- a/site/blueprints/sections/home_seo_metadata.yml +++ b/site/blueprints/sections/home_seo_metadata.yml @@ -1,44 +1,44 @@ type: fields fields: - meta_description: - label: - en: Meta description - fr: Méta description - type: textarea - size: small - buttons: false - required: true - help: - en: "Short description of the page displayed by search engines and social networks (recommended maximum length: 160 characters)." - fr: "Courte description de la page affichée par les moteurs de recherche et les réseaux sociaux (taille maximale conseillée : 160 caractères)." - width: 3/4 - gap: - type: gap - width: 1/4 - meta_image: - label: - en: Meta image - fr: Méta image - type: image-clip - query: page.images - layout: cards - image: - cover: true - back: white - multiple: false - required: true - clip: - minwidth: 1200 - minheight: 675 - ratio: fixed - help: - en: "Image displayed by social networks (format: JPEG or PNG)." - fr: "Image affichée par les réseaux sociaux (format : JPEG ou PNG)." - width: 1/4 - # Hidden fields - og_type: - type: hidden - default: website - twitter_card_type: - type: hidden - default: summary_large_image + meta_description: + label: + en: Meta description + fr: Méta description + type: textarea + size: small + buttons: false + required: true + help: + en: "Short description of the page displayed by search engines and social networks (recommended maximum length: 160 characters)." + fr: "Courte description de la page affichée par les moteurs de recherche et les réseaux sociaux (taille maximale conseillée : 160 caractères)." + width: 3/4 + gap: + type: gap + width: 1/4 + meta_image: + label: + en: Meta image + fr: Méta image + type: image-clip + query: page.images + layout: cards + image: + cover: true + back: white + multiple: false + required: true + clip: + minwidth: 1200 + minheight: 675 + ratio: fixed + help: + en: "Image displayed by social networks (format: JPEG or PNG)." + fr: "Image affichée par les réseaux sociaux (format : JPEG ou PNG)." + width: 1/4 + # Hidden fields + og_type: + type: hidden + default: website + twitter_card_type: + type: hidden + default: summary_large_image diff --git a/site/blueprints/sections/site_content_galleries.yml b/site/blueprints/sections/site_content_galleries.yml index ec07e17..adb277c 100644 --- a/site/blueprints/sections/site_content_galleries.yml +++ b/site/blueprints/sections/site_content_galleries.yml @@ -1,6 +1,6 @@ headline: - en: Galleries - fr: Galeries + en: Galleries + fr: Galeries type: pages template: gallery min: 2 @@ -8,7 +8,7 @@ max: 4 layout: cards size: small image: - ratio: 1/1 - cover: true - query: page.images.template('artwork').sortBy('sort').first - back: white + ratio: 1/1 + cover: true + query: page.images.template('artwork').sortBy('sort').first + back: white diff --git a/site/blueprints/sections/site_content_pages.yml b/site/blueprints/sections/site_content_pages.yml index 15863d8..51d6930 100644 --- a/site/blueprints/sections/site_content_pages.yml +++ b/site/blueprints/sections/site_content_pages.yml @@ -1,14 +1,14 @@ headline: - en: Pages - fr: Pages + en: Pages + fr: Pages type: pages templates: - - home - - biography + - home + - biography sortBy: title asc create: false layout: cardlets image: - cover: true - query: page.images.template('image').first - back: white + cover: true + query: page.images.template('image').first + back: white diff --git a/site/blueprints/tabs/biography_content.yml b/site/blueprints/tabs/biography_content.yml index fcc1e9e..aee713a 100644 --- a/site/blueprints/tabs/biography_content.yml +++ b/site/blueprints/tabs/biography_content.yml @@ -1,6 +1,6 @@ label: - en: Content - fr: Contenu + en: Content + fr: Contenu icon: text sections: - presentation: sections/biography_content_presentation + presentation: sections/biography_content_presentation diff --git a/site/blueprints/tabs/biography_seo.yml b/site/blueprints/tabs/biography_seo.yml index 4c5afb9..3483ed9 100644 --- a/site/blueprints/tabs/biography_seo.yml +++ b/site/blueprints/tabs/biography_seo.yml @@ -1,6 +1,6 @@ label: - en: SEO - fr: Référencement + en: SEO + fr: Référencement icon: search sections: - seo_basic_meta: sections/generic_seo_metadata + seo_basic_meta: sections/generic_seo_metadata diff --git a/site/blueprints/tabs/gallery_content.yml b/site/blueprints/tabs/gallery_content.yml index 0dd4d7a..78fb6d0 100644 --- a/site/blueprints/tabs/gallery_content.yml +++ b/site/blueprints/tabs/gallery_content.yml @@ -1,7 +1,7 @@ label: - en: Content - fr: Contenu + en: Content + fr: Contenu icon: text sections: - introduction: sections/gallery_content_introduction - artworks: sections/gallery_content_artworks + introduction: sections/gallery_content_introduction + artworks: sections/gallery_content_artworks diff --git a/site/blueprints/tabs/gallery_seo.yml b/site/blueprints/tabs/gallery_seo.yml index 4c5afb9..3483ed9 100644 --- a/site/blueprints/tabs/gallery_seo.yml +++ b/site/blueprints/tabs/gallery_seo.yml @@ -1,6 +1,6 @@ label: - en: SEO - fr: Référencement + en: SEO + fr: Référencement icon: search sections: - seo_basic_meta: sections/generic_seo_metadata + seo_basic_meta: sections/generic_seo_metadata diff --git a/site/blueprints/tabs/home_content.yml b/site/blueprints/tabs/home_content.yml index 8810fb0..869f586 100644 --- a/site/blueprints/tabs/home_content.yml +++ b/site/blueprints/tabs/home_content.yml @@ -1,11 +1,11 @@ label: - en: Content - fr: Contenu + en: Content + fr: Contenu icon: text columns: - - width: 1/2 - sections: - background_image: sections/home_content_background_image - - width: 1/2 - sections: - contact: sections/home_content_contact + - width: 1/2 + sections: + background_image: sections/home_content_background_image + - width: 1/2 + sections: + contact: sections/home_content_contact diff --git a/site/blueprints/tabs/home_seo.yml b/site/blueprints/tabs/home_seo.yml index b48b371..22db6c9 100644 --- a/site/blueprints/tabs/home_seo.yml +++ b/site/blueprints/tabs/home_seo.yml @@ -1,6 +1,6 @@ label: - en: SEO - fr: Référencement + en: SEO + fr: Référencement icon: search sections: - seo_basic_meta: sections/home_seo_metadata + seo_basic_meta: sections/home_seo_metadata diff --git a/site/blueprints/tabs/site_analytics.yml b/site/blueprints/tabs/site_analytics.yml index 9c6d80c..c7beb6b 100644 --- a/site/blueprints/tabs/site_analytics.yml +++ b/site/blueprints/tabs/site_analytics.yml @@ -1,15 +1,15 @@ label: - en: Analytics - fr: Audience + en: Analytics + fr: Audience icon: chart columns: - - width: 1/4 - sticky: true - sections: - sidebar: - type: matomo-sidebar - link: false - - width: 3/4 - sections: - main: - type: matomo-main + - width: 1/4 + sticky: true + sections: + sidebar: + type: matomo-sidebar + link: false + - width: 3/4 + sections: + main: + type: matomo-main diff --git a/site/blueprints/tabs/site_content.yml b/site/blueprints/tabs/site_content.yml index 88d36f8..9e5b5da 100644 --- a/site/blueprints/tabs/site_content.yml +++ b/site/blueprints/tabs/site_content.yml @@ -1,12 +1,12 @@ label: - en: Website - fr: Site web + en: Website + fr: Site web icon: home columns: - - width: 1/4 - sticky: true - sections: - pages: sections/site_content_pages - - width: 3/4 - sections: - galleries: sections/site_content_galleries + - width: 1/4 + sticky: true + sections: + pages: sections/site_content_pages + - width: 3/4 + sections: + galleries: sections/site_content_galleries diff --git a/site/blueprints/users/admin.yml b/site/blueprints/users/admin.yml index 729e227..b4f53bb 100644 --- a/site/blueprints/users/admin.yml +++ b/site/blueprints/users/admin.yml @@ -1,18 +1,15 @@ title: - en: Administrator - fr: Administrateur·ice + en: Administrator + fr: Administrateur·ice description: - en: The Administrator has all rights - fr: L'Administrateur·ice dispose de tous les droits + en: The Administrator has all rights + fr: L'Administrateur·ice dispose de tous les droits sections: - info: - headline: - en: Website - fr: Site internet - theme: none - width: 1/2 - text: - en: | - (link: https://paulnicoue.com text: paulnicoue.com target: _blank) - fr: | - (link: https://www.paulnicoue.com text: paulnicoue.com target: _blank) + info: + headline: + en: Website + fr: Site internet + theme: none + width: 1/2 + text: | + (link: https://paulnicoue.com text: paulnicoue.com target: _blank) diff --git a/site/blueprints/users/editor.yml b/site/blueprints/users/editor.yml index 867b658..8c7d8d2 100644 --- a/site/blueprints/users/editor.yml +++ b/site/blueprints/users/editor.yml @@ -1,29 +1,29 @@ title: - en: Editor - fr: Éditeur·ice + en: Editor + fr: Éditeur·ice description: - en: The Editor can create and edit pages - fr: L'éditeur·ice peut créer et modifier des pages + en: The Editor can create and edit pages + fr: L'éditeur·ice peut créer et modifier des pages permissions: - access: - settings: false - languages: - create: false - delete: false - site: - changeTitle: false - user: - changeRole: false - delete: false - users: - changeEmail: false - changeLanguage: false - changeName: false - changePassword: false - changeRole: false - create: false - delete: false - update: false + access: + settings: false + languages: + create: false + delete: false + site: + changeTitle: false + user: + changeRole: false + delete: false + users: + changeEmail: false + changeLanguage: false + changeName: false + changePassword: false + changeRole: false + create: false + delete: false + update: false sections: - info: false + info: false diff --git a/site/config/config.php b/site/config/config.php index 5dfc8b9..1028401 100644 --- a/site/config/config.php +++ b/site/config/config.php @@ -1,41 +1,41 @@ 'accueil', - 'error' => 'erreur', - 'panel' => [ - 'language' => 'fr', - 'css' => 'assets/css/panel.min.css' - ], - // Sitemapper plugin options - 'kirbyzone.sitemapper' => [ - 'intro' => false, - 'byLine' => 'Sitemap generated with Sitemapper by Kirbyzone.' - ], - // Hooks - 'hooks' => [ - 'file.create:after' => function($file) { - // Populate file_type field with $file->type() method after file creation - if ($file->type()) { - $file->update([ - 'file_type' => $file->type() - ]); - } - }, - 'kirbytext:after' => function (string $text) { - // Replace any HTML

or

tag by

tag after Markdown parsing - return preg_replace(['/

|

/', '/<\/h1>|<\/h2>/'], ['

', '

'], $text); - } - ], - // Thumbnails and srcsets presets - 'thumbs' => [ - 'srcsets' => [ - 'default' => [ - '640w' => ['width' => 640, 'quality' => 80], - '1280w' => ['width' => 1280, 'quality' => 80], - '1920w' => ['width' => 1920, 'quality' => 80] - ] - ] - ] + // Kirby configuration settings + 'home' => 'accueil', + 'error' => 'erreur', + 'panel' => [ + 'language' => 'fr', + 'css' => 'assets/css/panel.min.css' + ], + // Sitemapper plugin options + 'kirbyzone.sitemapper' => [ + 'intro' => false, + 'byLine' => 'Sitemap generated with Sitemapper by Kirbyzone.' + ], + // Hooks + 'hooks' => [ + 'file.create:after' => function($file) { + // Populate file_type field with $file->type() method after file creation + if ($file->type()) { + $file->update([ + 'file_type' => $file->type() + ]); + } + }, + 'kirbytext:after' => function (string $text) { + // Replace any HTML

or

tag by

tag after Markdown parsing + return preg_replace(['/

|

/', '/<\/h1>|<\/h2>/'], ['

', '

'], $text); + } + ], + // Thumbnails and srcsets presets + 'thumbs' => [ + 'srcsets' => [ + 'default' => [ + '640w' => ['width' => 640, 'quality' => 80], + '1280w' => ['width' => 1280, 'quality' => 80], + '1920w' => ['width' => 1920, 'quality' => 80] + ] + ] + ] ]; diff --git a/site/snippets/favicon.twig b/site/snippets/favicon.twig index 1a8c81f..e3a59cb 100644 --- a/site/snippets/favicon.twig +++ b/site/snippets/favicon.twig @@ -1,4 +1,3 @@ - diff --git a/site/snippets/metadata.twig b/site/snippets/metadata.twig index 0e90dc7..d098d12 100644 --- a/site/snippets/metadata.twig +++ b/site/snippets/metadata.twig @@ -1,16 +1,16 @@ - +{# Basic metadata #} - +{# Schema #} - +{# Title #} {{ site.title }} | {{ page.title }} - +{# Description #} {% if page.meta_description is not empty %} @@ -19,16 +19,16 @@ {% endif %} - +{# Canonical URL #} - +{# Author #} - +{# Date #} - +{# Image #} {% if page.meta_image is not empty %} {% elseif site.homePage.meta_image is not empty %} @@ -37,7 +37,7 @@ {% if page.template != 'error' %} - + {# Open Graph #} {% if page.meta_description is not empty %} @@ -56,7 +56,7 @@ - + {# Twitter Card #} {% if page.meta_description is not empty %} diff --git a/site/templates/base.twig b/site/templates/base.twig index 47d5466..4ccaa89 100644 --- a/site/templates/base.twig +++ b/site/templates/base.twig @@ -4,148 +4,148 @@ - {{ snippet('metadata') }} - {{ snippet('favicon') }} + {{ snippet('metadata') }} + {{ snippet('favicon') }} - - + + - - {% block stylesheets %} - - {% endblock %} + + {% block stylesheets %} + + {% endblock %} - {% block header %} -
+ {% block header %} +
-
+
- + - + -
+
-
- {% endblock %} +
+ {% endblock %} - {% block main %} - {% endblock %} + {% block main %} + {% endblock %} - {% block footer %} - + {% endblock %} - - {% block scripts %} - - {% endblock %} + + {% block scripts %} + + {% endblock %} diff --git a/site/templates/biography.twig b/site/templates/biography.twig index fbb8656..0b64787 100644 --- a/site/templates/biography.twig +++ b/site/templates/biography.twig @@ -1,16 +1,16 @@ {% extends "base.twig" %} {% block main %} -
+
-
+
-
-

{{ page.title }}

-
{{ page.text.kirbytext|raw }}
-
+
+

{{ page.title }}

+
{{ page.text.kirbytext|raw }}
+
-
+
-
+
{% endblock %} diff --git a/site/templates/error.twig b/site/templates/error.twig index 8c24e3f..31a8f67 100644 --- a/site/templates/error.twig +++ b/site/templates/error.twig @@ -7,13 +7,13 @@

Erreur {{ kirby.response.code }}

{% if kirby.response.code == 404 %} -

La page que vous demandez n'existe pas...

- {% else %} -

Une erreur est survenue...

- {% endif %} +

La page que vous demandez n'existe pas...

+ {% else %} +

Une erreur est survenue...

+ {% endif %} + Retourner à la page d'accueil +
diff --git a/site/templates/gallery.twig b/site/templates/gallery.twig index 87f1110..33e9958 100644 --- a/site/templates/gallery.twig +++ b/site/templates/gallery.twig @@ -1,52 +1,52 @@ {% extends "base.twig" %} {% block stylesheets %} - - + + {% endblock %} {% block main %} -
+
- -
+
{% endblock %} {% block scripts %} - - + + {% endblock %} diff --git a/site/templates/home.twig b/site/templates/home.twig index 5f5682d..4be1515 100644 --- a/site/templates/home.twig +++ b/site/templates/home.twig @@ -1,35 +1,35 @@ {% extends "base.twig" %} {% block stylesheets %} - + {% endblock %} {% block main %} -
+
- -
+
{% endblock %} {% block scripts %} - - + + {% endblock %}