Inline Hyperlinks

Bonjour à tous,

L’extension Inline Hyperlinks d’Erik Temple a pourtant l’air bien pratique, mais elle ne semble pas fonctionner en version 6L38.

Quelqu’un a une idée ? Ou peut-être, comment fait-on pour définir un hyperlien tout bête et livré à lui-même ? Par exemple, si dans une description de salle je clique sur le mot fatidique « glagla », ça génère et ça exécute la commande « move Thierry to porcherie » mais ça ne l’affiche surtout pas ! Un hyperlien, quoi ; genre genre Turbo Pascal ( ah, ma jeunesse ! ) ou HTML, quoi .

Merci d’avance.

Voilà, j’ai compris pourquoi ça ne fonctionne pas, et j’ai la solution à mon problème d’hyperliens, de plus en plus indispensables avec la généralisation de Twine 2. Je vous tiendrai au courant.

Je bosse aussi avec des hyperliens sous Inform, mais je suis resté au build 6G60

Bah tiens, en parlant de lien, ça pourrait m’intéresser.

Je suis en version 6L38 et je ne me suis pas du tout penché sur l’extension mentionnée plus haut.

  • On la trouve où ?
  • Est-ce compliqué à mettre en œuvre ?
  • L’extension est-elle indispensable ?

Puisque j’ai codé mon projet de manière à offrir des choix numérotés, l’implémentation de liens sur lesdits choix va presque de soi.

Merci d’avance !

L’extension se trouve sur le dépôt GitHub. Elle requiert l’extension Text Capture d’Eric Eve, qui est disponible depuis la Public Library intégrée à Inform. Malheureusement, le site d’Inform a un problème en ce moment, donc impossible pour l’instant de la télécharger (je peux l’envoyer à quelqu’un si c’est urgent).

Ce n’est pas du tout compliqué à mettre en œuvre. Voici un exemple (qui ne marchera pas en français, cf. plus bas) :

Le coffre est une chose. "Que renferme-t-il ? Vous voulez [link]l'ouvrir[as]ouvrir le coffre[end link] !

Le premier morceau est le texte affiché, le second est le lien qui sera collé dans la commande.

Tvisarl, comment as-tu résolu ton problème ? C’est toujours mieux de l’indiquer pour ceux qui en auraient besoin.

Pour moi le problème était la substitution « [as] ». Le français la court-circuite puisqu’elle l’utilise pour afficher la forme conjuguée du verbe avoir. Il faut donc la redéfinir :

To say comme: [copié directement depuis l'extension.] stop capturing text; now the hyperlinked text is the substituted form of "[captured text]"; start capturing text;
Et il faut remplacer dans mon exemple plus haut le « [as] » par « [comme] ».

J’imagine que c’était aussi ton problème.

Hum, je vois. Pas très compliqué en effet. Du coup, déployer les liens sur mon projet, ça peut se faire en deux coups de cuillère à pot. J’ai la bonne architecture pour n’avoir à toucher qu’un tout petit bout de code pour que ça prenne effet de manière globale.

Ce n’est pas urgent, Natrium. Si le site d’Inform tarde à être de nouveau opérationnel, je te ferais signe.

Mais donc, quand tu dis que ça ne marche pas en Français, tu veux dire :

  • que ça ne marche pas avec l’extension française ?
  • avec la version 6L38 ?
  • avec la syntaxe française ?

L’extension française à partir de 6L entre en conflit avec cette extension, à cause de la substitution « [as] ».

En français, il s’agit de la deuxième personne du verbe avoir, et elle est utilisée pour afficher le verbe conjugué automatiquement. Cette version de la substitution remplace celle d’Inline Hyperlinks, qui sert quant à elle à séparer le texte du lien et la commande que celui-ci va générer.

Il faut donc en créer une autre, qui fait exactement la même chose que le « [as] » de l’extension Inline Hyperlinks ; c’est ce que fait le dernier code de mon message précédent, avec le « [comme] ».

Ok, parfait.
Excuses-moi, j’avais lu ton précédent message trop vite, loupant la fin. C’était déjà très clair.
Merci pour toutes ces infos en or ! J’essaierai de mettre les liens en place pour la première version de la Tour d’Orastre.

Petit double-post pour remercier Natrium de m’avoir envoyer l’extension.

J’ai testé et ça marche. Impeccable ! Les liens s’imposaient dans mon projet. Une chose de plus de faite !

Ça n’a pas tardé ! Ça doit donc travailler dur ! :smiley:

C’était effectivement ça mon problème, merci :slight_smile:. Ce qui m’a mis sur la voie a été de faire un petit essai uniquement en anglais. Mais du coup ça m’a fait regarder Twine, des gosses m’ayant dit que ce qui est interprété par Gargoyle a un look ringard ( ça ne fait pas de cadeaux, à cet âge-là ! ). Question subsidiaire : y-a-t-il un interpréteur au look plus moderne ( tags HTML, feuilles de style ? )

J’oubliais : pour avoir des hyperliens qui fonctionnent sans afficher la commande générée ( je trouve que dans certains cas ça fait désordre ) il faut intervenir un tout petit peu dans le fonctionnement des Glulx Entry Points d’Emily Short. Rien de bien méchant, il suffit de rajouter ça dans votre projet à vous :

commandEcho is a number variable. commandEcho is 0.

A command-showing rule (this is the echo text to the input prompt rule):
	if commandEcho is 1:
		say input-style-for-glulx;
		say Glulx replacement command;
		say roman type.
		
The echo text to the input prompt rule is listed instead of the print text to the input prompt rule in the command-showing rules.

Et en plus, comme ça vous gérez l’écho dynamiquement, en fonction de la salle où se trouve le joueur.

P.S : Tu es un puits de science, Natrium :slight_smile:

Lectrote doit être plus récent et plus joli, non ? Sinon tu installes Quixe, qui marche dans le navigateur, et tu changes le CSS ?

Tu peux héberger en ligne un jeu Inform, avec du CSS et tout.

" Release along with an interpreter "

Comme exemple je ne saurais que trop te conseiller ce jeu :

http://ifiction.free.fr/concours2016/observatoire/play.html

Qui est probablement la fiction interactive la plus aboutie jamais sortie, exploitant les possibilités d’Inform avec un brio et une aisance effarantes, combinés avec une qualité d’écriture qui a rendu aveugles plusieurs académiciens. Il paraît que même Natrium a fondu en larmes en lisant le code, et qu’il s’en est fait tatouer les meilleurs passages partout sur le corps.

La vieillesse est un naufrage :frowning:. Quand j’étais jeune je ne me serais pas laissé avoir aussi facilement que ça, mais il me reste quelques vestiges qui m’ont donné l’envie d’une dernière vérification, que j’aurais d’ailleurs du faire depuis longtemps. Tout est de ma faute. Sauf erreur de ma part, l’extension d’Erik Temple ne fonctionne pas quand il y a plus d’un hyperlien à la fois - sur la ligne ou dans la phrase ? ( test en anglais uniquement, et sur l’exemple le plus simple : Survival ). Seul le dernier est pris en compte. J’ai voulu creuser un peu avec son Extended Debugging, et bingo ! Ce truc ne marche pas non plus ! Erreurs de syntaxe ! Voulez-vous que je vous dise ? Ou bien Erik Temple est un zozo, ou bien je suis un vieux gâteux ( il y a longtemps que ma femme me le dit ), ou bien les deux à la fois.

Si tu veux rétrograder à la 6G60 (encore que … si ça se trouve ça marche avec la dernière build Inform) on peut se trouver un moment pour que je te montre comment je fais moi (avec l’aide initiale d’Otto Grimwald ici présent) - en étant basé sur l’extension « Include Hyperlink Interface by Leonardo Boselli » … par contre moi je n’utilise pas du tout le parser d’Inform7 alors je ne sais pas dans quelle mesure ça fonctionne avec ton propre projet.

Tu es sympa, merci. Mais maintenant il faut que je réfléchisse un peu. Je viens de recharger et de ré-installer l’extension à zéro, à partir des fichiers officiels, et de la re-tester avec un exemple officiel, fourni avec. Je maintiens : un seul lien sur les deux est pris en compte. Alors… ça demande réflexion. Parce que… Parce que ça ne me dit rien de bien.
Maintenant, pourquoi fais-je ce ram-dam aujourd’hui ? Parce qu’ayant rencontré ce problème il y a longtemps, je m’en étais désintéressé, me contentant d’une utilisation limitée des Basic Hyperlinks d’Emily Short. Mais voilà : aujourd’hui les gosses disent que je suis ringard, avec mon interface clavier :slight_smile:

Je vais essayer de jeter un œil sur ça aujoud’hui. Sinon je vais demander sur le forum anglophone. Je suis sûr que ça peut se réparer.

Corax, as-tu ce problème ?

Après vérification, je n’ai eu aucun problème, l’exemple Survival fonctionne très bien. Il ne faut donc pas dire Erik Temple est un zozo, parce que ses extensions sont en général de qualité.

Quelle version as-tu, et où l’as-tu téléchargée ? J’ai la version 3/161018, téléchargée sur GitHub (dont le lien est dans un message précédent). Si tu l’as téléchargée sur le site d’Inform, ben il ne fallait pas. :slight_smile: Pareil pour Extended Debugging, ta version n’a pas due être mise à jour pour 6L, mais je n’ai pas vérifié pour celle-là.

Sinon, pour l’écho, je ne savais pas. C’est bien ! C’est dommage que le prompt reste, par contre. Je préfère quand même quand on voit la commande, mais ça doit aussi dépendre du projet.

Comme interpréteur moderne, oui Lectrote est le plus beau selon moi. En revanche, comme Lectrote ne supporte pas encore l’utilisation d’une feuille de style spécifique en fonction du jeu, il faudra faire comme Azathoth l’a indiqué. Si on est bon en CSS, il y a moyen de faire des choses vraiment jolies.

Merci ! :sunglasses:

Je sens que tu meurs d’envie de voir ça. Je t’enverrai une photo si tu es sage.

J’ai testé à mon niveau. Aucun problème.

Exemple concret : cette ligne de code fonctionne :

dire "[line break](M) [link]Menu[comme]M[end link] - (P) [link]Personnage[comme]P[end link][line break]".

J’ai les fichiers indiqués par Natrium et je suis en version 6L38.

Bon. J’ai téléchargé la version indiquée par Natrium et ça marche, contrairement à celle qui figurait avant-hier sur le site d’Inform.
Mais je suis déçu, et même choqué, de constater que le site officiel d’Inform ne prend pas la peine de mettre en ligne des extensions qui fonctionnent. C’est contraire à tous mes principes, voilà !