Go to file
2023-12-12 02:12:07 +01:00
pages (Grav GitSync) Automatic Commit from rodolphe 2023-12-12 02:12:07 +01:00
themes (Grav GitSync) Automatic Commit from rodolphe 2023-11-30 01:49:20 +01:00
README.md mise à jour 2023-03-10 03:49:33 +01:00

Documentations-Linux07

Architectures des pages du site https://documentations.linux07.fr propulsé par le cms GRAV avec un thème enfant de Learn2.

Création d'un thème enfant (sur Yunohost)

  • Installer le plugin the DevTools
  • Naviguer en root sur l'installation de grav cd /var/www/grav,

Puis

sudo -u grav php7.4 bin/plugin devtools new-theme

Ce process pose quelques questions pour créer le nouveau thème: on peut créer un thème enfant qui va suivre le thème parent avec inherit. J'utilise un thème inherit de Learn2.

Pour activer le nouveau theme on change le theme par défaut en éditant user/config/system.yaml

pages:
    theme: monnouveautheme

On ajoute les lignes si elles manquent qui se trouvent dans le fichier user/themes/themeparent/themeparent.yaml dans user/themes/monnouveautheme/monouveautheme.yaml

sudo nano user/themes/monnouveautheme/monnouveautheme.yaml

par example avec un theme enfant du theme quark

streams:
 schemes:
   theme:
     type: ReadOnlyStream
     prefixes:
       '':
         - 'user://themes/mytheme'
         - 'user://themes/quark'

enabled: true
production-mode: true
grid-size: grid-lg
header-fixed: true
header-animated: true
header-dark: false
header-transparent: false
sticky-footer: true
blog-page: '/blog'
spectre:
  exp: false
  icons: false

Certains fichiers ou lignes sont indispensables et le theme peut ne pas être fonctionnel avant de les inclure dans son theme enfant.

blueprints.yaml - La configuration utiliser par Grav pour avoir des informations du theme.

monnouveautheme.php - Ce fichier doit être nommé en accord avec votre theme.

monnouveautheme.yaml - la configuration de ce fichier est utilisée par les plugins pour définir les options du theme qu'il doit utiliser.

templates/ - ce dossier contient les Twig templates pour le rendu des pages.

On doit editer user/themes/monnouveautheme/blueprints.yaml, comme pour monnouveautheme.yaml en copiant les lignes du theme parent par exemple user/themes/learn2/blueprints.yaml et les coller à la fin du fichier.

Personnalisation du thème

Ensuite, si on veut personaliser le css, on peut éditer un fichier custom.css

nano user/themes/monnouveautheme/css/custom.css

Pour changer le footer mkdir user/themes/monnouveautheme/templates/partials et nano user/themes/monnouveautheme/templates/partials/footer.html.twig