gamedevalliance / fairedesjeux.fr

Le site collaboratif pour apprendre à créer des jeux vidéo ! (Propulsé par Vue et Gridsome)
https://fairedesjeux.fr
10 stars 3 forks source link

La dernière section d'un chapitre renvoie à l'accueil de la formation plutôt qu'au chapitre suivant #38

Closed goulvenclech closed 3 years ago

goulvenclech commented 3 years ago

$page.section.next renvoie null plutôt que l'URL de la première section du chapitre suivant, depuis la commit d'Erika qui a notamment changer les chapter.json en chapter.md. Cela se traduit concrètement par l'apparition du bouton "Retour à l'accueil" plutôt que "J'ai compris !" à chaque section qui termine un chapitre.

A priori le bug se situerais dans gridsome.server.js, et serait peut-être lié à un moment où on assumerait la longueur du nom du fichier, l'extension étant maintenant plus courte cela pourrait briser le résultat.

Où j'en suis : -> currentChapterId, tempMap[options.chapter].sectionCount, tempMap[options.chapter].sectionCount semblent renvoyer la bonne valeur -> options.next dans les deux cas (if sectionCount > currentId et else if chapterCount > currentChapterId) semble renvoyer la bonne valeur -> ${options.course}/${String(currentChapterId + 1).padStart(2, '0')}/01 renvoie la valeur que l'on veut (!!!) mais elle ne se retrouve pas quand on log options.next

update : -> currentId ne renvoie pas les dernières sections de chaque chapitre !!! -> le problème c'est const sectionCount = fs.readdirSync(sectionPath).filter((file) => file.endsWith('.md')).length; qui compte maintenant chapter.md en plus des .md des sections (et comptent donc une section de trop).

Fix in 54cb6e0