Réécrire les URL externes

J’aime utiliser la fonctionnalité de Discourse qui convertit automatiquement les mots surveillés en liens. Cependant, je cherche également un moyen de convertir automatiquement les liens externes, principalement pour insérer des liens d’affiliation (autres qu’Amazon). J’ai essayé d’y parvenir en utilisant l’option regex dans les mots surveillés, mais cela ne semble pas fonctionner pour les liens. Quelqu’un a-t-il des suggestions ?

Merci !

Avez-vous essayé le composant de thème Auto-Linkify Words ? Je pense qu’il a des capacités regex supplémentaires par rapport à Watched Words.

1 « J'aime »

Oui, mais sans succès.

1 « J'aime »

Le plugin Discourse Affiliate prend en charge Amazon et le site français ldlc.com, si c’est quelque chose d’utile en général, une PR est toujours la bienvenue.

Sinon, vous pourriez utiliser ce plugin comme référence pour ce que vous voulez accomplir.

3 « J'aime »

Les expressions régulières sont difficiles. Peut-être devriez-vous partager ce que vous avez essayé ?

1 « J'aime »

:100: :sweat_smile:

Ce que j’ai essayé avec l’exemple d’URL Google :

/(https?:\\/\\/)?(www\\.)?google\\.com/
/(https:\\/\\/)?(www\\.)?((google)?\\.com)/

1 « J'aime »

Ce n’est pas suffisant pour déboguer. Cela correspondra (devrait correspondre ?) à une URL Google, mais que cherchez-vous à remplacer ?

Je dois juste faire correspondre le domaine/sous-domaine, pas toutes les pages. Voici ce que j’ai ajouté dans le plugin linkify :

/(https?:\\/\\/)?(www\\.)?example\\.com/, https://example.com/affiliateid

J’ai fait quelques progrès de mon côté, il semble qu’il pourrait y avoir un conflit avec le paramètre enable markdown linkify.

Ce paramètre a un avantage sur le composant.

Je vais laisser Camille examiner la question, mais cela pourrait aider à résoudre ce problème.

2 « J'aime »

Il me semble aussi. J’ai créé un remplacement pour https://www.digitalocean.com/ → https://m.do.co/c/a5bf212d9a92/ et si enable markdown linkify est activé, cela ne fonctionne pas, et s’il est désactivé, cela fonctionne. Ce que j’aimerais vraiment, c’est que le lien soit réécrit.

Un composant de thème pourrait être un moyen d’y parvenir.

1 « J'aime »

Mmm, donc peut-être que la solution la plus simple est de forker le Discourse Affiliate plugin et d’y ajouter mes liens d’affiliation personnalisés.

C’est probablement excessif. Si vous voulez juste réécrire certaines URL, vous n’avez pas besoin de grand-chose. J’ai un composant de thème qui réécrit des one-boxes.

J’ai un composant de thème qui trouve des one-boxes d’un certain domaine et les réécrit en <iframe> appropriés à ce site. Il ne devrait pas être trop difficile (pour quelqu’un ayant des compétences aussi modestes que les miennes) de le modifier pour réécrire vos liens.

Vous n’avez pratiquement qu’à changer ceci :

La principale différence avec une approche comme celle de Discourse Affiliate est qu’elle modifie le lien dans le contenu “cuit” (cooked content), de sorte qu’il fonctionnera également en dehors de l’application web, comme dans les e-mails ou si vous utilisez un client différent (très, très rare). C’est juste quelque chose à savoir.

1 « J'aime »

Bon point ! Et changer les articles cuisinés nécessite un plugin.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.