O problema: eu quero que os usuários possam postar como personagens de RPG. Gostaria que eles pudessem inserir um modelo em uma postagem — algo como o exemplo abaixo:
E depois usar um script para que a imagem substitua o avatar original e o link do tópico do charactername apareça antes do nome de usuário. Por exemplo, se a postagem normalmente diz “Username”, eu quero substituir isso por “Character Name played by Username”.
(“Character Name” incluiria um link para um tópico com a ficha do personagem, usando, com sorte, apenas o componente de tema wikilinks para facilitar o uso.)
Eu colei uma estrutura de postagem em um Codepen e consegui escrever um JavaScript que faria exatamente isso. No entanto, quando se tratou de adicioná-lo a um decorador de postagem e fazê-lo funcionar ao vivo com a API, esbarrei em um muro.
Aqui está o que eu tenho em common>header agora:
<script type="text/discourse-plugin" version="0.8">
api.decorateCookedElement(
element => {
// find the characterpost tag within the post
const characterPost = element.querySelector('[data-wrap="characterpost"]');
// find the parent of the characterpost tag, which contains avatar and username
const characterPostParent = characterPost.closest('article');
// turn it red to see if it's working
characterPostParent.style.backgroundColor = "red";
},
{
id: 'render-character-post', onlyStream: true, afterAdopt: true
}
);
</script>
Isso tem estado gerando um erro. É possível acessar o wrapper “article” para postagens usando decorateCookedElement para que eu possa acessar o nome de usuário e o avatar? Se não, como posso proceder?
Isso é muito legal, obrigado por compartilhar! Eu estava procurando algo semelhante também. Você sabe se isso afeta a forma como as postagens aparecem nos resultados de pesquisa também?
Boa pergunta! O nome da tag e seu conteúdo fazem parte do conteúdo da postagem; isso pode afetar o resultado da pesquisa.
Tentarei algo mais limpo, como usar um modal e salvar em campos personalizados em vez disso.
EDIT: Acho que entendi errado se você estiver falando sobre alterações que aparecem no resultado da pesquisa, a resposta é não (nem o HTML aparecerá).
Pensar que pode ser uma ideia propor, talvez na wiki da comunidade, um guia de template de fórum. Frequentemente, as pessoas procuram ideias sobre diferentes tipos de configurações de fórum.
Neste caso, pode ser um pouco específico. Mas um template de RPG de mesa que inclua este recurso que você criou.