Cómo/dónde personalizar el parser de markdown

Estoy preparando una instancia de Discourse usando SSO y es importante para nosotros admitir los nombres de usuario existentes que tienen guiones bajos y guiones en cualquier posición. He logrado realizar las actualizaciones de regex en el código de Discourse para que esto funcione, incluido hacer que la autocompletación de nombres de usuario en el compositor funcione bien con ello.

Sin embargo, tengo problemas con el analizador de Markdown, con el cual no estoy familiarizado. Específicamente, los nombres de usuario con guiones bajos en la primera y última posición de una mención @ hacen que aparezcan en cursiva, según las especificaciones de Markdown. Así que actualmente, una publicación con algo como @_nombre_usuario_ se convierte en @nombre_usuario (y no se enlaza).

¿Alguien puede darme algunas indicaciones sobre por dónde empezar a buscar para personalizar esto? Soy nuevo en Discourse, así que cualquier ayuda es apreciada. ¡Gracias de antemano!

Esto va a ser de dificultad nivel élite. Si fuera tú, renunciaría a esto y aceptaría los cambios menores en el nombre de usuario. Esa es mi opinión profesional, basada en más de 8 años de experiencia en el tema.

Gracias por avisarme sobre esto. Sin duda, está por encima de mi nivel.

Estoy considerando la posibilidad de contratar a alguien con las habilidades necesarias para investigar este asunto. Si se llega a realizar, ¿considerarías incluirlo en el núcleo, suponiendo que todo funcione y pase todas las pruebas, etc.? ¿O los guiones bajos y guiones no son algo que Discourse tendrá nunca en los nombres de usuario? Solo trato de entender si esto sería un parche (PR) o un plugin.

No, no lo consideraría.

Estoy de acuerdo con Jeff aquí; te recomiendo encarecidamente que abortes esta misión.

Jugar con la precedencia de las reglas en el motor de Markdown es muy probable que tenga efectos secundarios terribles.