Il problema: Voglio che gli utenti possano pubblicare come personaggi di GDR. Vorrei che potessero inserire un modello in un post, qualcosa di simile a quanto segue:
[wrap="characterpost"]
[characterav]https://image.link.example.png[/characterav]
[charactername][[Nome del Personaggio]][/charactername]
[/wrap]
E poi usare uno script in modo che l’immagine sostituisca l’avatar originale e il link all’argomento charactername vada davanti al nome utente. Ad esempio, se il post dice normalmente “Nome utente”, voglio sostituirlo con “Nome del Personaggio interpretato da Nome utente”.
(“Nome del Personaggio” includerebbe un link a un argomento con la scheda del personaggio, sperando di utilizzare solo il componente tematico wikilinks per facilità d’uso.)
Ho incollato uno scheletro di post in un Codepen e sono stato in grado di scrivere del javascript che farebbe esattamente questo. Tuttavia, quando si è trattato di aggiungerlo a un decoratore di post e farlo funzionare in tempo reale con l’API, mi sono imbattuto in un muro.
Ecco quello che ho in common>header in questo momento:
<script type="text/discourse-plugin" version="0.8">
api.decorateCookedElement(
element => {
// trova il tag characterpost all'interno del post
const characterPost = element.querySelector('[data-wrap="characterpost"]');
// trova il genitore del tag characterpost, che contiene avatar e nome utente
const characterPostParent = characterPost.closest('article');
// rendilo rosso per vedere se funziona
characterPostParent.style.backgroundColor = "red";
},
{
id: 'render-character-post', onlyStream: true, afterAdopt: true
}
);
</script>
Questo ha generato un errore. È possibile accedere all’involucro “article” per i post utilizzando decorateCookedElement in modo da poter accedere al nome utente e all’avatar? In caso contrario, come posso procedere?
Questo è molto bello, grazie per averlo condiviso! Stavo cercando qualcosa di simile anch’io. Sai se questo influisce anche su come i post appaiono nella ricerca?
Ottima domanda! Il nome del tag e il suo contenuto fanno parte del contenuto del post; questo potrebbe influire sui risultati della ricerca.
Proverò qualcosa di più pulito, come usare una modale e salvare nei campi personalizzati invece.
MODIFICA: Penso di aver capito male se stai parlando di modifiche che appaiono nei risultati della ricerca, la risposta è no (né apparirà l’HTML).
Potrebbe essere un’idea proporre, magari nella wiki della community, una guida per i template dei forum. Spesso le persone cercano idee per diversi tipi di configurazioni di forum. In questo caso potrebbe essere un po’ di nicchia. Ma un template per GDR da tavolo che includa questa funzionalità che hai creato.