Skip to content

fix: liens à antislash et menu des métiers (#117) - #350

Merged
mortifia merged 1 commit into
mainfrom
117-liens-antislash
Oct 26, 2026
Merged

mortifia merged 1 commit into
mainfrom
117-liens-antislash

Conversation

@ohugonnot

@ohugonnot ohugonnot commented Oct 25, 2026 •

Copy link
Copy Markdown
Contributor

Closes #117

Le problème

Les liens étaient écrits avec des antislashs Windows, par exemple [Captain](\3_HowToPlay\Jobs\Command_roles\Captain.md). Docusaurus ne sait pas les lire : sur le site en ligne, le lien Captain mène à /HowToPlay/Jobs/\3_HowToPlay\Jobs\Command_roles\Captain.md, une page 404.

Le menu des métiers (Jobs.md) est inclus dans environ 61 pages, donc chacun de ses liens cassés se répète partout.

Ce que fait cette PR (anglais uniquement)

  • scripts/fix_backslash_links.py : réécrit chaque lien à antislash avec des /, depuis la racine des docs, comme les auteurs l'avaient voulu : [Captain](/3_HowToPlay/Jobs/Command_roles/Captain.md) (et pas ../../Jobs/...). C'est plus lisible, ça ne casse pas si on déplace une page, et Docusaurus résout ce format d'abord dans le dossier de la langue, puis en anglais : le même lien mènera à la page traduite quand elle existe. Appliqué à docs/ : 517 liens, dont :
    • 34 liens vers les anciens guides (Space Law, Hacking, Construction, Chemistry…). Ces guides ont été fusionnés dans les pages métier en 2023 (commits dd41389 et 8e957fb). Les liens mènent maintenant à la bonne section, par exemple « Space Law » → Security-Officer.md#space-law, « Hacking » → Engineer.md#hacking-guide.
    • 11 liens « HoS » / « Head of Security » qui menaient à la page Security Officer → maintenant Head-of-Security.md.
  • Menu des métiers : 4 liens vers des pages inexistantes corrigés (Ancient Engineer, Ash Walker, Nuclear operative, Emergency Response Team).

Le script ignore les blocs de code et signale (sans les toucher) les liens qu'il ne sait pas résoudre. Les traductions (fr, ru, de) ne sont pas touchées : elles seront traitées avec #268, en réutilisant le même script.

Comment c'est vérifié

Un robot a parcouru chaque page du site construit et vérifié chaque lien du contenu : page existante et ancre existante (#space-law…).

liens qui marchent liens en 404
Site en ligne aujourd'hui 509 3 270
Avec cette PR (servi en local) 3 715 62

Les 62 restants sont des liens vers des pages qui n'existent pas, hors du menu des métiers, et sans rapport avec les antislashs : ils feront l'objet d'une issue séparée (corriger, ou barrer si la page n'existe plus).

Autres vérifications :

  • npm run test:links -- --lang en : antislash 517 → 0
  • relancer le script ne change plus rien
  • cohérence : pour chacun des liens dont la cible a changé, la page ou section visée a été ouverte pour vérifier qu'elle correspond au texte du lien. Les liens « blagues » du wiki (ex. « survive » → page humoristique) sont conservés tels quels.
  • build anglais OK ; sur la page Jobs servie : /HowToPlay/Jobs/Command_roles/Captain, .../Security_roles/Head-of-Security, .../Ghost_roles/Ancient-Engineer

@ohugonnot ohugonnot self-assigned this Oct 25, 2026
@ohugonnot
ohugonnot marked this pull request as draft October 25, 2026 10:23
Les liens étaient écrits avec des antislashs Windows
(\3_HowToPlay\Jobs\Command_roles\Captain.md), que Docusaurus ne
résout pas. scripts/fix_backslash_links.py les réécrit avec des
barres obliques, depuis la racine des docs, comme les auteurs
l'avaient voulu : /3_HowToPlay/Jobs/Command_roles/Captain.md.
(Docusaurus résout « /fichier.md » depuis le dossier de la langue,
puis docs/ : le même lien mènera à la page traduite si elle existe.)

- 457 liens directs, 2 avec correction de casse, 13 images
- 34 liens vers les anciens guides, redirigés vers les sections des
  pages métier où leur contenu a été fusionné (dd41389, 8e957fb)
- 11 liens « HoS » / « Head of Security » qui menaient à la page
  Security Officer → Head-of-Security.md

Menu des métiers (Jobs.md, inclus dans ~61 pages) : 4 liens vers des
pages inexistantes (Ancient Engineer, Ash Walker, Nuclear operative,
Emergency Response Team) pointent maintenant vers leurs pages.

Anglais uniquement ; les traductions suivront avec #268.
@ohugonnot
ohugonnot force-pushed the 117-liens-antislash branch from 861c676 to 728261e Compare October 25, 2026 10:30
@ohugonnot

Copy link
Copy Markdown
Contributor Author

Mise à jour de la PR :

  • Format des liens : les liens sont maintenant écrits depuis la racine des docs (/3_HowToPlay/Jobs/Command_roles/Captain.md) au lieu de chemins relatifs (../../Jobs/...), plus lisibles et qui ne cassent pas si on déplace une page. Vérifié : les 517 liens visent exactement les mêmes pages qu'avant, et le site servi donne les mêmes résultats (3 715 liens OK, 62 en 404 déjà existants).
  • Script plus robuste pour sa réutilisation sur les traductions : un lien qui sort des dossiers du site, un lien vers un dossier, ou une page de remplacement absente sont maintenant signalés au lieu de produire un lien faux (un cas faisait planter le script). Chaque correction est couverte par un petit jeu de test.
  • __pycache__/ ajouté au .gitignore (les scripts s'importent entre eux).

@ohugonnot
ohugonnot marked this pull request as ready for review October 25, 2026 10:30
@ohugonnot

Copy link
Copy Markdown
Contributor Author

@Fr-Dae une question sur le menu des métiers, en lien avec ton commentaire de 2023 sur #117 (« il manque "Entertainment_Roles" dans le rolebar ») :

Aujourd'hui, les rôles Clown, Mime, Curator et Chaplain sont bien dans le menu, mais sur la ligne Service (avec Botanist, Bartender, Cook, Janitor…), alors qu'ils ont leur propre dossier Entertainment_Roles dans le wiki.

Tu préfères :

  1. garder comme ça (ils sont du service dans le jeu) ;
  2. ajouter une ligne Entertainment à part dans le menu ?

Je n'y ai pas touché dans cette PR pour ne pas changer l'organisation du menu sans ton avis. Si c'est l'option 2, je le fais dans une petite PR à part.

@Fr-Dae

Fr-Dae commented Oct 25, 2026 •

Copy link
Copy Markdown
Member

Entertainment est un sous groupe de services.
un niveau des roles ils sont géré par le HOP chef du personnel et du service,
mais ils ont egalement leur propre canal de discution hors services.
c'est un peu particulier

mais on pourrai les ajouter apres les roles du services par exemple
leur couleur est rose alors que le service est violet/vert

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

job menu

3 participants