Edit metadata management and robots exclusion protocol

This commit is contained in:
Paul Nicoué 2022-05-30 16:07:25 +02:00
parent d149a90c80
commit cea8f504df
21 changed files with 282 additions and 144 deletions

View file

@ -1 +1 @@
.k-textarea-field .k-toolbar .k-dropdown .k-button:nth-of-type(2),.k-textarea-field .k-toolbar .k-dropdown .k-button:nth-of-type(3){display:none}/*# sourceMappingURL=panel.min.css.map */
.k-textarea-field .k-toolbar .k-dropdown .k-button:nth-of-type(2),.k-textarea-field .k-toolbar .k-dropdown .k-button:nth-of-type(3){display:none}.kirby-imagecrop-field .k-column:nth-of-type(2){display:none}/*# sourceMappingURL=panel.min.css.map */

View file

@ -1 +1 @@
{"version":3,"sourceRoot":"","sources":["panel.scss"],"names":[],"mappings":"AAYY,oIAEI","file":"panel.min.css"}
{"version":3,"sourceRoot":"","sources":["panel.scss"],"names":[],"mappings":"AAYY,oIAEI,aAUZ,gDACI","file":"panel.min.css"}

View file

@ -17,3 +17,12 @@
}
}
}
// Visual image crop field properties
.kirby-imagecrop-field {
.k-column:nth-of-type(2) {
display: none;
}
}

View file

@ -46,11 +46,6 @@
--black: #000;
--jet: #333333;
--white: #fff;
// --lava: #c81d25;
// Plyr (audio player)
// --plyr-color-main: var(--lava);
}
// Media queries

View file

@ -1 +1 @@
{"version":3,"sourceRoot":"","sources":["partials/_minireset.css","partials/_fonts.scss","partials/_variables.scss","partials/_animations.scss","style.scss"],"names":[],"mappings":"AAIA,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,0FACA,oCACA,sCACA,sHACA,yCACA,2CACA,sCACA,wCACA,6FACA,qBACA,2BACA,+BACA,mMAIA,cACA,eACA,cAaJ,qCAEI,MAII,yBACA,4BACA,2BACA,qBACA,uBACA,uBAIA,kBACA,sCACA,oCACA,sCACA,uFACA,2CACA,yCC7ER,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,UCrCF,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,0BACA,2CACA,sCACA,mCAEA,yBAGI,mBAOR,KACI,iBACA,kBACA,iBACA,aACA,KACI,2CAMR,OACI,iBAGJ,KACI,eAGJ,OACI,iBASJ,YACI,mCACA,gCACA,YACA,gFACA,oBACA,oBACA,aACA,yBACA,sBACA,8BACA,yBACA,sBACA,mBAGJ,kBACI,kBAGJ,uBACI,qBAGJ,iBACC,kBACA,UAGD,wBACC,8BACA,WACA,YACA,cACA,YACA,eACA,oBACA,oBACA,aACA,4BACA,6BACG,0BACH,sBACA,yBACA,sBACA,8BAEA,qKAGC,WACA,WACA,mBACA,4BAUF,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,gCAEI,mCACA,YACA,0FAGJ,8BAEI,kBAGJ,4CAEI,gCACA,YAEA,4EACI,kBAKA,0GAEI,kBAIR,kDACI,uBAEA,8GAEI,kBAGJ,8DACI,mBAKZ,kBACI,cACA,YAEA,oCACI,wBAGJ,oEAEI,cACA,gBACA,YAGJ,kCACI,2BAGJ,kCACI,8EAEA,+CACI,cACA,mBAKR,6BACI,sBACA,oBACA,wBACA,mCACA,kBAIR,qCAIQ,oCACI,yBAOZ,eACI,mCACA,YACA,0FAGJ,cACI,kBAGJ,gBACI,gCACA,YACA,kBAGJ,eACI,kBACA,kBAEA,iBACI,qBACA,aACA,mBACA,mBACA,4BACA,qBACA,yCACA,sDACA,iDACA,8CAEA,sEAGI,8BAWZ,YACI,mCACA,gCACA,YACA,gFACA,oBACA,oBACA,aACA,4BACA,6BACA,0BACA,sBACA,yBACA,sBACA,mBAGJ,oBACI,oBACA,oBACA,aACA,yBACA,sBACA,mBAEA,sBACI,oBACA,oBACA,aACA,wBACA,qBACA,uBACA,yBACA,sBACA,mBACA,uBACA,wBAEA,wBACI,kBAGJ,0BACI,gBACA,WACA,YACA,0CACA,qCACA,kCAOA,iGACA,kBAMZ,uBACI,oCACA,kBAGJ,qCAEI,YACI,8BACA,6BACA,uBACA,mBACA,yBACA,sBACA,8BACA,sBACA,mBACA,qBAGJ,oBACI,QAGJ,uBACI,QACA","file":"style.min.css"}
{"version":3,"sourceRoot":"","sources":["partials/_minireset.css","partials/_fonts.scss","partials/_variables.scss","partials/_animations.scss","style.scss"],"names":[],"mappings":"AAIA,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,0FACA,oCACA,sCACA,sHACA,yCACA,2CACA,sCACA,wCACA,6FACA,qBACA,2BACA,+BACA,mMAIA,cACA,eACA,cAQJ,qCAEI,MAII,yBACA,4BACA,2BACA,qBACA,uBACA,uBAIA,kBACA,sCACA,oCACA,sCACA,uFACA,2CACA,yCCxER,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,UCrCF,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,0BACA,2CACA,sCACA,mCAEA,yBAGI,mBAOR,KACI,iBACA,kBACA,iBACA,aACA,KACI,2CAMR,OACI,iBAGJ,KACI,eAGJ,OACI,iBASJ,YACI,mCACA,gCACA,YACA,gFACA,oBACA,oBACA,aACA,yBACA,sBACA,8BACA,yBACA,sBACA,mBAGJ,kBACI,kBAGJ,uBACI,qBAGJ,iBACC,kBACA,UAGD,wBACC,8BACA,WACA,YACA,cACA,YACA,eACA,oBACA,oBACA,aACA,4BACA,6BACG,0BACH,sBACA,yBACA,sBACA,8BAEA,qKAGC,WACA,WACA,mBACA,4BAUF,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,gCAEI,mCACA,YACA,0FAGJ,8BAEI,kBAGJ,4CAEI,gCACA,YAEA,4EACI,kBAKA,0GAEI,kBAIR,kDACI,uBAEA,8GAEI,kBAGJ,8DACI,mBAKZ,kBACI,cACA,YAEA,oCACI,wBAGJ,oEAEI,cACA,gBACA,YAGJ,kCACI,2BAGJ,kCACI,8EAEA,+CACI,cACA,mBAKR,6BACI,sBACA,oBACA,wBACA,mCACA,kBAIR,qCAIQ,oCACI,yBAOZ,eACI,mCACA,YACA,0FAGJ,cACI,kBAGJ,gBACI,gCACA,YACA,kBAGJ,eACI,kBACA,kBAEA,iBACI,qBACA,aACA,mBACA,mBACA,4BACA,qBACA,yCACA,sDACA,iDACA,8CAEA,sEAGI,8BAWZ,YACI,mCACA,gCACA,YACA,gFACA,oBACA,oBACA,aACA,4BACA,6BACA,0BACA,sBACA,yBACA,sBACA,mBAGJ,oBACI,oBACA,oBACA,aACA,yBACA,sBACA,mBAEA,sBACI,oBACA,oBACA,aACA,wBACA,qBACA,uBACA,yBACA,sBACA,mBACA,uBACA,wBAEA,wBACI,kBAGJ,0BACI,gBACA,WACA,YACA,0CACA,qCACA,kCAOA,iGACA,kBAMZ,uBACI,oCACA,kBAGJ,qCAEI,YACI,8BACA,6BACA,uBACA,mBACA,yBACA,sBACA,8BACA,sBACA,mBACA,qBAGJ,oBACI,QAGJ,uBACI,QACA","file":"style.min.css"}

View file

@ -15,8 +15,8 @@
"getkirby/cms": "^3.5",
"amteich/kirby-twig": "^4.1",
"sylvainjule/matomo": "^1.0",
"diesdasdigital/kirby-meta-knight": "^1.2",
"kirbyzone/sitemapper": "^1.2"
"kirbyzone/sitemapper": "^1.2",
"steirico/kirby-plugin-image-crop-field": "^2.0"
},
"scripts": {
"start": [

155
composer.lock generated
View file

@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
"content-hash": "2b5816560ec69490f1f1ef0c8ae052f5",
"content-hash": "c5992525649c1061a4453492d2f429de",
"packages": [
{
"name": "amteich/kirby-twig",
@ -100,48 +100,6 @@
],
"time": "2021-12-01T12:42:55+00:00"
},
{
"name": "diesdasdigital/kirby-meta-knight",
"version": "1.2.2",
"source": {
"type": "git",
"url": "https://github.com/diesdasdigital/kirby-meta-knight.git",
"reference": "9c3da53a3abee5ffdd95c1363d679e9395794715"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/diesdasdigital/kirby-meta-knight/zipball/9c3da53a3abee5ffdd95c1363d679e9395794715",
"reference": "9c3da53a3abee5ffdd95c1363d679e9395794715",
"shasum": ""
},
"require": {
"getkirby/composer-installer": "^1.1"
},
"type": "kirby-plugin",
"autoload": {
"psr-4": {
"diesdasdigital\\kirby-meta-knight\\": "src/models/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "Jonathan Muth",
"email": "jonathan@diesdas.digital",
"homepage": "https://diesdas.digital",
"role": "Developer"
}
],
"description": "Meta Knight SEO for Kirby",
"support": {
"issues": "https://github.com/diesdasdigital/kirby-meta-knight/issues",
"source": "https://github.com/diesdasdigital/kirby-meta-knight/tree/1.2.2"
},
"time": "2021-11-16T12:41:33+00:00"
},
{
"name": "filp/whoops",
"version": "2.14.5",
@ -341,6 +299,65 @@
],
"time": "2020-12-28T12:54:39+00:00"
},
{
"name": "gumlet/php-image-resize",
"version": "2.0.2",
"source": {
"type": "git",
"url": "https://github.com/gumlet/php-image-resize.git",
"reference": "39066a32de8476a32c9ac6322f9658021cee8638"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/gumlet/php-image-resize/zipball/39066a32de8476a32c9ac6322f9658021cee8638",
"reference": "39066a32de8476a32c9ac6322f9658021cee8638",
"shasum": ""
},
"require": {
"ext-fileinfo": "*",
"ext-gd": "*",
"php": ">=5.6.0"
},
"require-dev": {
"apigen/apigen": "^4.1",
"ext-exif": "*",
"ext-gd": "*",
"php-coveralls/php-coveralls": "^2.1",
"phpunit/phpunit": "^8.5"
},
"suggest": {
"ext-exif": "Auto-rotate jpeg files"
},
"type": "library",
"autoload": {
"psr-4": {
"Gumlet\\": "lib/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Aditya Patadia",
"homepage": "http://aditya.patadia.org/"
}
],
"description": "PHP class to re-size and scale images",
"homepage": "https://github.com/gumlet/php-image-resize",
"keywords": [
"image",
"php",
"resize",
"scale"
],
"support": {
"issues": "https://github.com/gumlet/php-image-resize/issues",
"source": "https://github.com/gumlet/php-image-resize/tree/2.0.2"
},
"time": "2022-05-12T11:03:20+00:00"
},
{
"name": "kirbyzone/sitemapper",
"version": "1.2.1",
@ -680,6 +697,58 @@
},
"time": "2021-05-03T11:20:27+00:00"
},
{
"name": "steirico/kirby-plugin-image-crop-field",
"version": "2.0.5",
"source": {
"type": "git",
"url": "https://github.com/steirico/kirby-plugin-image-crop-field.git",
"reference": "f4f637112e28296070665885654415bb307e328a"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/steirico/kirby-plugin-image-crop-field/zipball/f4f637112e28296070665885654415bb307e328a",
"reference": "f4f637112e28296070665885654415bb307e328a",
"shasum": ""
},
"require": {
"getkirby/composer-installer": "^1.1",
"gumlet/php-image-resize": "2.0.*"
},
"type": "kirby-plugin",
"autoload": {
"files": [
"config.php"
],
"classmap": [
"fields/",
"lib/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Rico Steiner",
"email": "rico@vweb.ch"
}
],
"description": "A image cropping field for kirby.",
"keywords": [
"crop",
"field",
"image",
"kirby3",
"plugin"
],
"support": {
"issues": "https://github.com/steirico/kirby-plugin-image-crop-field/issues",
"source": "https://github.com/steirico/kirby-plugin-image-crop-field/tree/v2.0.5"
},
"time": "2021-11-01T15:57:43+00:00"
},
{
"name": "sylvainjule/matomo",
"version": "1.0.7",

4
robots.txt Normal file
View file

@ -0,0 +1,4 @@
User-agent: *
Disallow: /panel*
Sitemap: https://xiaowang.fr/sitemap.xml

View file

@ -0,0 +1,19 @@
title: Meta image
accept:
mime: image/jpeg, image/png
fields:
crop:
label:
en: Social networks image crop
fr: Recadrage pour les réseaux sociaux
type: imagecrop
minSize:
width: 1200
height: 675
preserveAspectRatio: true
width: 1/2
alt_text:
label:
en: Alternative text
fr: Texte alternatif
type: text

View file

@ -0,0 +1,14 @@
headline: Image
type: files
template: meta_image
layout: cards
size: small
image:
query: file.croppedImage
ratio: 16/9
cover: false
back: white
max: 1
help:
en: "Image displayed by social networks (format: JPEG or PNG)."
fr: "Image affichée par les réseaux sociaux (format : JPEG ou PNG)."

View file

@ -5,52 +5,13 @@ fields:
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: Image
type: files
layout: cardlets
image:
cover: true
back: white
multiple: false
# required: true
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_image:
type: hidden
default:
og_type:
type: hidden
default: article
twitter_image:
type: hidden
default:
twitter_card_type:
type: hidden
default: summary_large_image
robots_noindex:
type: hidden
default: default
robots_nofollow:
type: hidden
default: default
robots_noarchive:
type: hidden
default: default
robots_noimageindex:
type: hidden
default: default
robots_nosnippet:
type: hidden
default: default

View file

@ -10,4 +10,5 @@ create: false
layout: cardlets
image:
cover: true
query: page.images.template('image').first
back: white

View file

@ -2,5 +2,10 @@ label:
en: SEO
fr: Référencement
icon: search
sections:
columns:
- width: 3/4
sections:
seo_basic_meta: sections/generic_seo_metadata
- width: 1/3
sections:
seo_meta_image: sections/generic_seo_meta_image

View file

@ -2,5 +2,10 @@ label:
en: SEO
fr: Référencement
icon: search
sections:
columns:
- width: 3/4
sections:
seo_basic_meta: sections/generic_seo_metadata
- width: 1/3
sections:
seo_meta_image: sections/generic_seo_meta_image

View file

@ -2,5 +2,10 @@ label:
en: SEO
fr: Référencement
icon: search
sections:
columns:
- width: 3/4
sections:
seo_basic_meta: sections/generic_seo_metadata
- width: 1/3
sections:
seo_meta_image: sections/generic_seo_meta_image

View file

@ -7,16 +7,10 @@ return [
'language' => 'fr',
'css' => 'assets/css/panel.min.css'
],
// Meta Knight plugin options
'diesdasdigital.meta-knight' => [
'siteTitleAfterPageTitle' => false,
'separator' => ' | ',
'metaAuthor' => false
],
// Sitemapper plugin options
'kirbyzone.sitemapper' => [
'intro' => false,
'byLine' => 'Sitemap automatically generated by Sitemapper, by <a href="https://github.com/kirbyzone" target="_blank">Kirbyzone</a>.'
'byLine' => 'Sitemap generated with Sitemapper by <a href="https://github.com/kirbyzone" target="_blank">Kirbyzone</a>.'
],
// Hooks
'hooks' => [
@ -28,23 +22,6 @@ return [
]);
}
},
'page.update:after' => function($newPage) {
// Populate page og_image and twitter_image fields with page meta_image field value after page update
if ($newPage->meta_image()) {
$newPage->update([
'og_image' => $newPage->meta_image()->value(),
'twitter_image' => $newPage->meta_image()->value()
]);
}
// Populate site meta_description, og_image and twitter_image fields with home page meta_description, og_image and twitter_image fields value after home page update
if ($newPage->template()->name() === 'home' && $newPage->meta_description()) {
$this->site()->update([
'meta_description' => $newPage->meta_description()->value(),
'og_image' => $newPage->og_image()->value(),
'twitter_image' => $newPage->twitter_image()->value()
]);
}
},
'kirbytext:after' => function (string $text) {
// Replace any HTML <h1> or <h2> tag by <h3> tag after Markdown parsing
return preg_replace(['/<h1>|<h2>/', '/<\/h1>|<\/h2>/'], ['<h3>', '</h3>'], $text);

View file

@ -0,0 +1,5 @@
<!-- Favicon -->
<link rel="icon" sizes="any" href="assets/favicon/xiao-wang-favicon.ico">
<link rel="icon" type="image/svg+xml" href="assets/favicon/xiao-wang-favicon.svg">
<link rel="apple-touch-icon" href="assets/favicon/xiao-wang-apple-touch-icon.png">
<link rel="manifest" href="assets/favicon/xiao-wang.webmanifest">

View file

@ -0,0 +1,73 @@
<!-- Basic metadata -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<html lang="fr">
<!-- Schema -->
<style itemscope itemtype="https://schema.org/WebSite" itemref="schema_name schema_description schema_image"></style>
<!-- Title -->
<title>{{ site.title }} | {{ page.title }}</title>
<meta id="schema_name" itemprop="name" content="{{ site.title }} | {{ page.title }}">
<!-- Description -->
{% if page.meta_description is not empty %}
<meta name="description" content="{{ page.meta_description }}">
<meta id="schema_description" itemprop="description" content="{{ page.meta_description }}">
{% elseif site.homePage.meta_description is not empty %}
<meta name="description" content="{{ site.homePage.meta_description }}">
<meta id="schema_description" itemprop="description" content="{{ site.homePage.meta_description }}">
{% endif %}
<!-- Canonical URL -->
<link rel="canonical" href="{{ page.url }}">
<!-- Author -->
<meta name="author" content="{{ site.title }}">
<!-- Date -->
<meta name="date" content="{{ page.modified('Y-m-d') }}">
<!-- Image -->
{% if page.images.template('meta_image') is not empty %}
<meta id="schema_image" itemprop="image" content="{{ page.images.template('meta_image').first.url }}">
{% elseif site.homePage.images.template('meta_image') is not empty %}
<meta id="schema_image" itemprop="image" content="{{ site.homePage.images.template('meta_image').first.url }}">
{% endif %}
{% if page.template != 'error' %}
<!-- Open Graph -->
<meta property="og:title" content="{{ site.title ~ ' | ' ~ page.title }}">
{% if page.meta_description is not empty %}
<meta property="og:description" content="{{ page.meta_description }}">
{% elseif site.homePage.meta_description is not empty %}
<meta property="og:description" content="{{ site.homePage.meta_description }}">
{% endif %}
{% if page.images.template('meta_image') is not empty %}
<meta property="og:image" content="{{ page.images.template('meta_image').first.croppedImage.resize(1200, 675).url }}">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="675">
{% elseif site.homePage.images.template('meta_image') is not empty %}
<meta property="og:image" content="{{ site.homePage.images.template("meta_image").first.croppedImage.resize(1200, 675).url }}">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="675">
{% endif %}
<meta property="og:url" content="{{ page.url }}">
<meta property="og:type" content="{{ page.og_type }}">
<!-- Twitter Card -->
<meta name="twitter:card" content="{{ page.twitter_card_type.value }}">
<meta name="twitter:title" content="{{ site.title ~ ' | ' ~ page.title }}">
{% if page.meta_description is not empty %}
<meta name="twitter:description" content="{{ page.meta_description }}">
{% elseif site.homePage.meta_description is not empty %}
<meta name="twitter:description" content="{{ site.homePage.meta_description }}">
{% endif %}
{% if page.images.template('meta_image') is not empty %}
<meta name="twitter:image" content="{{ page.images.template('meta_image').first.croppedImage.resize(1200, 675).url }}">
{% elseif site.homePage.images.template('meta_image') is not empty %}
<meta name="twitter:image" content="{{ site.homePage.images.template("meta_image").first.croppedImage.resize(1200, 675).url }}">
{% endif %}
{% endif %}

View file

@ -4,14 +4,8 @@
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
{{ snippet('meta_information') }}
{{ snippet('robots') }}
<link rel="icon" sizes="any" href="assets/favicon/xiao-wang-favicon.ico">
<link rel="icon" type="image/svg+xml" href="assets/favicon/xiao-wang-favicon.svg">
<link rel="apple-touch-icon" href="assets/favicon/xiao-wang-apple-touch-icon.png">
<link rel="manifest" href="assets/favicon/xiao-wang.webmanifest">
{{ snippet('metadata') }}
{{ snippet('favicon') }}
{% block stylesheets %}
<link rel="stylesheet" href="{{ asset('assets/css/style.min.css') }}">
@ -32,6 +26,7 @@
</a>
</div>
{% if page != site.homePage %}
<nav class="header-bar__nav" aria-label="Menu">
<button class="header-bar__nav-button" tabindex="-1" aria-hidden="true">
<div class="header-bar__nav-button-line-1"></div>
@ -41,6 +36,7 @@
<ul class="header-bar__nav-menu">
</ul>
</nav>
{% endif %}
</div>
@ -75,7 +71,7 @@
</a>
</div>
<div class="footer-bar__copyright">
<p>&copy; {{ 'now' | date('Y') }} {{ site.meta_author }}</p>
<p>&copy; {{ 'now' | date('Y') }} {{ site.title }}</p>
</div>
</div>

View file

@ -15,8 +15,8 @@
{% if page.text.isNotEmpty %}
<div class="gallery__introduction">{{ page.text.kirbytext|raw }}</div>
{% endif %}
{% if page.files.isNotEmpty %}
{% set artworks = page.files.sortBy('sort') %}
{% if page.files.template("artwork").isNotEmpty %}
{% set artworks = page.files.template("artwork").sortBy('sort') %}
{% for artwork in artworks %}
<figure class="gallery__artwork">
{% if artwork.type == 'video' %}

View file

@ -19,7 +19,7 @@
{% set navItemNo = navItemNo + 1 %}
{% endfor %}
<div class="home__nav-image" aria-hidden="true">
<img src="{{ page.image.url }}" srcset="{{ page.image.srcset() }}" alt="{{ page.image.alt_text }}">
<img src="{{ page.images.template("image").first.url }}" srcset="{{ page.images.template("image").first.srcset() }}" alt="{{ page.images.template("image").first.alt_text }}">
</div>
</nav>
</div>