¿Cómo agrego atributos de datos a un script usando el constructor HTML?

También hay este post que explica cómo funciona la parte del DOM virtual / widget de Discourse: