Es posible usar algunas clases HTML en Discourse, sin embargo, la mayor parte del HTML en una publicación se desinfecta por razones de seguridad, y solo se permite HTML muy estricto en la lista blanca en markdown. Para agregar clases a la lista blanca, debe usar un plugin, la desinfección ocurre tanto en el lado del servidor como en el del cliente. Consulte Etiquetas / atributos HTML en lista blanca para obtener detalles sobre dónde agregar los atributos en lista blanca, y creo que se vería similar a algo como esto: Lista blanca de HTML de Discourse. y como ha mencionado @RGJ, tenga en cuenta que la función whiteList() está obsoleta y hoy en día se llama allowList().
Con respecto a otras formas en que podría personalizar el contenido, las publicaciones son widgets, y los temas de Discourse tienen la capacidad de decorar widgets, por lo que podría aprovechar eso.
¡Espero que esto ayude!