Skip to content

Simplification de l'aide en ligne en utilisant des fichiers

marcimat a demandé de fusionner gh-2d545905/2/unknown/refs/pull/2/head vers master

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 :

balise #AIDER

#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