Simplification de l'aide en ligne en utilisant des fichiers
Proposition suite à discussion avec Eric et sur spip.dev de simplifier l'aide en ligne en utilisant des fichiers.
Ça facilite normalement le fait que l'aide puisse être adapté à la version de SPIP. Par contre ça va fait grossir la taille du zip de la distribution, notamment si l'aide inclut des images.
Sur les choix faits :
#AIDER
balise #AIDER{raccourcis}
affiche l'aide du groupe "raccourcis". (et uniquement celle là). Ce groupe contient différentes entrées, et éventuellement une intro.
- Si on appelle
#AIDER{je n'existe pas}
aucune icone n'est retournée. - On peut appeler
#AIDER{raccourcis/liens}
pour placer l'ancre directement sur l'entrée lien (todo)
déclaration des groupes et entrées
La déclaration est volontairement très simple et traverse un pipeline "aide_index".
$index['raccourcis'] = ['simple', 'lien', 'note', 'citation', 'tableau', 'liste', 'glossaire', 'ancre'];
Pour garder cette simplicité on s'appuie sur la structure suivante :
Le fichier de langue "aide" tel que lang/aide_fr.php contient les titres, soit {groupe}
ou {groupe}_{entree}
.
Comme les fichiers de langue sont extensibles (ie on peut declarer un lang/aide_fr.php dans un autre plugin), ça devrait suffire.
- 'raccourcis' => Titre...
- 'raccourcis_simple' => Titre... etc.
Le contenu lui est cherché dans un fichier aide/{lang}/{groupe}/{entree}.spip
tel que aide/fr/raccourcis/lien.spip
.
S'il existe un aide/{lang}/{groupe}/_intro.spip
il sera utilisé en introduction du groupe.
Si une langue n'existe pas, on tente de suivre le même chemin de recherche que pour les traductions.
Aperçu
On pourrait simplifier encore...
En fait… on pourrait simplifier encore en ne déclarant que les noms de groupes exstants, et utiliser find_all_in_path() ensuite pour retrouver la liste des entrées. Cependant définir leur ordre est alors plus compliqué (numéros ?). Pour l'instant on laisse comme ça.
Todo
- intégrer les langues
- comment mettre les images ?
- un travail CSS est à faire pour présenter le contenu de la popin
Rapports de requête de fusion
Activité
J'ai testé seul et aussi en rajoutant une entrée dans les raccourcis avec le plugin Todo. Ca marche nickel.
J'ai noté qu'il faut préciser que le fichier
_intro.spip
ne doit être défini qu'une fois pour un groupe donné.Sinon, je me pose juste la question de la modale pour afficher l'aide. Moi je préfère l'avoir dans une page directement de façon à consulter l'aide en même temps que je code. Peut-être à voir si on met un mode de fonctionnement.
Sinon pour les images c'est LE SUJET qui a toujours rendu complexe l'aide. Je serais d'avis aujourd'hui de le mettre de coté pour cette version.
Je pense que c'est pas mal sur la fonctionnalité.
Là les icones
[?]
apparaissent sans rien faire d'autre sur le chapo et texte (j'ai aliasé les anciens noms sur 'raccourcis'.La popup s'ouvre avec le contenu, contenu dans des fichiers .spip. J'ai ajouté un résumé rapide des raccourcis usuels. J'ai testé aussi avec coloration_code (branche prismjs) du pre+code (ça serait super une tite décoration de quelques raccourcis spip :p)
À part la gestion des images (pas urgent a priori), je pense que c'est bon.
Aperçus
Avec coloration code (je sais plus si c'est le thème par défaut ou un autre...)
Je pense qu'il faut (faudra) mettre du pre+code partout pour les exemples. Tant qu'à faire.
C'est pas
language-spip typo
qu'il faudrait pour coloration_code plutôt quelanguage-spip_typo
? : https://git.spip.net/spip/aide/src/commit/b77b22901e7a4edf3db8df68db2166a231a21cd6/aide/fr/raccourcis/resume.spip#L2(et sinon : ça à l'air top)
@marcimat a remplacé le titre
[WIP] Simplification de l'aide en ligne en utilisant des fichierspar Simplification de l'aide en ligne en utilisant des fichiers@marcimat a fusionné cette PR
@marcimat a supprimé la branche dev-aide-en-fichiers
Bé ça dépend, si des plugins peuvent ajouter des aides : ce n'est pas forcément pour tout le monde, loin de là. Certaines aides peuvent n'être que pour les admins et jamais pour les rédacs. Et certaines aides pourraient n'être que pour les webmestres/devs, et il n'y a aucune raison d'embêter les autres en leur montrant des trucs qui n'ont pas de sens.
@cy.altern a fait référence à cette PR depuis un commentaire de !4621 WIP: Proposition de fix (#4620)