Documentations-Linux07/README.md
Rodolphe Robles 15880606bb mise à jour
2023-03-10 03:47:46 +01:00

80 lines
2.5 KiB
Markdown

# Documentations-Linux07
Architectures des pages du site [https://documentations.linux07.fr](https://documentations.linux07.fr) propulsé par le cms [GRAV](https://getgrav.org/) avec un thème enfant de [Learn2](https://github.com/getgrav/grav-theme-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
```
Ensuite
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`