title: Accueil
icon: home
Table des matières
Cette documentation se concentre sur la partie développeur du site. Elle présente l'arborescence des fichiers, l'architecture du programme, ...
Le site se compose de plusieurs parties interagissant entre elles :
Seul les deux dernières parties seront détaillées dans cette documentation.
Le thème et le plugin dépendent de plus bibliothèques, scripts et styles. Le système de gestion des dépendances est dans le thème.
Le système de dépendances est basé sur un objet global array $SAFER_DEPENDENCIES
, il contient la liste des dépendances en fonction de la page qui doit être rendue.
<?php
[
'echarts' => [
'type' => 'js',
'version' => '5.5.0',
'path' => get_template_directory() . '/src/assets/js/echarts-${version}.min.js',
'constraint' => 'front',
'dependencies' => ['tom_select_style'],
],
'tom_select_style' => [ ... ],
...
]
type
: Type de dépendance JavaScript (js
) ou CSS (css
).version
: Version de la dépendance.path
: Chemin absolu vers le fichier de la dépendance. ${version}
est remplacé par la version de la dépendance.constraint
: Contrainte pour l'inclusion de la dépendance :
dependencies
: Dépendances de la dépendance.Cet objet n'est utilisé qu'à la fin du chargement du thème et des plugins donc cela laisse du temps pour le compléter avec les dépendances de chaque plugin/thème.
Exemple :
<?php
if (!isset($SAFER_DEPENDENCIES))
$SAFER_DEPENDENCIES = [];
$SAFER_DEPENDENCIES = array_merge($SAFER_DEPENDENCIES, [ ... ]);
La suite c'est par ici.
La suite c'est par ici.
Que ce soit pour le thème ou le plugin, les traductions sont gérées par un script contenu dans le dossier languages
(make-pot.bat
pour le thème et make-pot.ps1
pour le plugin). Après, avoir modifier le programme, il faut lancer le script pour mettre à jour les fichiers de traduction.
Ensuite, il est possible d'utiliser un logiciel comme Poedit pour traduire les chaînes de caractères. Les fichiers de traduction sont au format .po
et .mo
.
Une fois généré, il faudra exécuter le script make-json.ps1
(pour le plugin uniquement) pour générer le fichier de traduction à destination des navigateurs.