Ideia de funcionalidade: macros parametrizadas (ou "substituições inteligentes")

Existe uma maneira de criar “macros” para todo o site (ou categoria?) que aceitem parâmetros?

Por exemplo, os links para as salas de chat do Matrix do Fedora estão no formato https://matrix.to/#/#social:fedoraproject.org. Eu gostaria que as pessoas pudessem escrever algo como {chat:social}, e que isso aparecesse como um link com o parâmetro “social” inserido no lugar certo.

Crucialmente, se a macro for atualizada, todas as instâncias em todo o site também deverão seguir. (Embora seja aceitável se isso for “eventualmente” em vez de instantâneo, pois não imagino querer usar isso para algo que mudaria com frequência.)

Eu sei que existe o recurso “palavras observadas”, mas não vejo nenhuma maneira de fazer esse tipo de substituição parametrizada.

3 curtidas

Isso é possível como um pequeno componente de tema que se conecta ao método decoratedCooked, conforme documentado em Developing Discourse Themes & Theme Components

2 curtidas

Não com parâmetros, mas, tente

Admin → Personalizar → Palavras Observadas → Substituir

A coisa que eu realmente gostaria de evitar é ter que pré-definir todas as opções possíveis — por exemplo, se alguém criar uma nova sala de chat para automação residencial, eu não quero que alguém tenha que adicioná-la manualmente… Eu gostaria apenas que {chat:home-automation} gerasse [Fedora Chat: #home-automation](https://matrix.to/#/#home-automtaion:fedoraproject.org).

Geralmente, a forma como isso é tratado é através de oneboxing, por exemplo, cole a URL em uma linha separada:

https://matrix.to/#/#home-automtaion:fedoraproject.org

Entende-se que essa é uma URL complexa e um tanto irritante para colar, no entanto.

Sim. E, na verdade, é ainda pior porque o URL que realmente deveria ser usado é https://matrix.to/#/#home-automation:fedoraproject.org?web-instance[element.io]=chat.fedoraproject.org, que o Matrix atualmente não fornece convenientemente em lugar nenhum.

Além disso, eu gostaria de poder alterá-lo se, por exemplo, o nome do domínio mudar, ou seus parâmetros malucos mudarem, sem ter que voltar e atualizar todos os links.

1 curtida