Edit metadata management and robots exclusion protocol
This commit is contained in:
parent
d149a90c80
commit
cea8f504df
21 changed files with 282 additions and 144 deletions
2
assets/css/panel.min.css
vendored
2
assets/css/panel.min.css
vendored
|
@ -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 */
|
||||
|
|
|
@ -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"}
|
|
@ -17,3 +17,12 @@
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Visual image crop field properties
|
||||
|
||||
.kirby-imagecrop-field {
|
||||
|
||||
.k-column:nth-of-type(2) {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -46,11 +46,6 @@
|
|||
--black: #000;
|
||||
--jet: #333333;
|
||||
--white: #fff;
|
||||
// --lava: #c81d25;
|
||||
|
||||
// Plyr (audio player)
|
||||
|
||||
// --plyr-color-main: var(--lava);
|
||||
}
|
||||
|
||||
// Media queries
|
||||
|
|
|
@ -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"}
|
|
@ -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
155
composer.lock
generated
|
@ -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
4
robots.txt
Normal file
|
@ -0,0 +1,4 @@
|
|||
User-agent: *
|
||||
Disallow: /panel*
|
||||
|
||||
Sitemap: https://xiaowang.fr/sitemap.xml
|
19
site/blueprints/files/meta_image.yml
Normal file
19
site/blueprints/files/meta_image.yml
Normal 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
|
14
site/blueprints/sections/generic_seo_meta_image.yml
Normal file
14
site/blueprints/sections/generic_seo_meta_image.yml
Normal 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)."
|
|
@ -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
|
||||
|
|
|
@ -10,4 +10,5 @@ create: false
|
|||
layout: cardlets
|
||||
image:
|
||||
cover: true
|
||||
query: page.images.template('image').first
|
||||
back: white
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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);
|
||||
|
|
5
site/snippets/favicon.twig
Normal file
5
site/snippets/favicon.twig
Normal 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">
|
73
site/snippets/metadata.twig
Normal file
73
site/snippets/metadata.twig
Normal 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 %}
|
|
@ -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>© {{ 'now' | date('Y') }} {{ site.meta_author }}</p>
|
||||
<p>© {{ 'now' | date('Y') }} {{ site.title }}</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
|
|
@ -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' %}
|
||||
|
|
|
@ -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>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue