Reescrever URLs externas

Eu gosto de usar o recurso do Discourse que converte automaticamente palavras observadas em links. No entanto, também estou procurando uma maneira de converter automaticamente links externos, principalmente para inserir links de afiliados (além da Amazon). Tentei conseguir isso usando a opção regex em palavras observadas, mas não parece funcionar para links. Alguém tem alguma sugestão?

Obrigado!

Você já experimentou o componente de tema Auto-Linkify Words? Acho que ele tem recursos de regex extras em comparação com Palavras Observadas.

1 curtida

Sim, mas sem sucesso.

1 curtida

O plugin Discourse Affiliate suporta a Amazon e o site francês ldlc.com, se for algo geralmente útil um PR é sempre bem-vindo.

Caso contrário, você pode usar este plugin como referência para o que deseja realizar.

3 curtidas

Regexes são difíceis. Talvez você devesse compartilhar o que tentou?

1 curtida

:100: :sweat_smile:

O que tentei com o exemplo de URL do Google:

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

1 curtida

Isso não é suficiente para depurar. Isso corresponderá (deveria?) a um URL do Google, mas o que você está tentando substituir?

Eu só preciso corresponder ao domínio/subdomínio, não a todas as páginas. Aqui está o que adicionei no plugin linkify:

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

Fiz algum progresso, parece que pode haver um conflito com a configuração enable markdown linkify.

Esta configuração tem vantagem sobre o componente.

Deixarei Camille investigar, mas isso pode ajudar a resolver este problema.

2 curtidas

Parece que sim para mim também. Criei um substituto para https://www.digitalocean.com/ → https://m.do.co/c/a5bf212d9a92/ e se enable markdown linkify estiver ativado, não funciona, e se estiver desativado, funciona. O que eu realmente gostaria é que ele reescrevesse o link.

Um componente de tema pode ser uma maneira de fazer isso.

1 curtida

Mmm, então talvez a solução mais fácil seja fazer um fork do Discourse Affiliate plugin e adicionar meus links de afiliados personalizados.

Isso provavelmente é exagero. Se você só quer reescrever algumas URLs, não precisa de muito. Eu tenho um componente de tema que reescreve alguns one-boxes.

Eu tenho um componente de tema que encontra one-boxes de um determinado domínio e os reescreve como <iframe> apropriados para aquele site. Não deve ser muito difícil (para alguém com habilidades tão modestas quanto as minhas) mudá-lo para reescrever seus links.

Você basicamente só precisa mudar isto:

A principal diferença em relação a uma abordagem como a do Discourse Affiliate é que ela altera o link no conteúdo processado, de modo que também funcionará fora do aplicativo web, como em e-mails ou se estiver usando um cliente diferente (muito, muito raro). Apenas algo a ter em mente.

1 curtida

Bom ponto! E alterar as postagens cozidas requer um plugin.

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