Я настраиваю экземпляр Discourse с использованием SSO, и для нас важно поддерживать существующие имена пользователей, в которых могут встречаться нижние подчёркивания и дефисы в любой позиции. Мне удалось внести необходимые изменения в регулярные выражения в коде Discourse, чтобы это работало, включая настройку автодополнения имён пользователей в редакторе сообщений.
Однако у меня возникли проблемы с парсером Markdown, с которым я не знаком. В частности, если в упоминании через @ имя пользователя начинается и заканчивается символом нижнего подчёркивания, Markdown интерпретирует его как курсив, согласно спецификации. В результате пост, содержащий что-то вроде @_username_, отображается как @username (без ссылки).
Не могли бы вы подсказать, с чего начать поиск способа кастомизации этого поведения? Я новичок в Discourse, поэтому любая помощь будет очень ценной. Заранее спасибо!
Это будет задача элитного уровня сложности. Я бы на вашем месте отказался от этой идеи и согласился на незначительные изменения имени пользователя. Это моё профессиональное мнение, основанное на более чем 8-летнем опыте в данной области.
Спасибо за предупреждение об этом. Это, безусловно, выше моего уровня.
Я рассматриваю возможность нанять человека с соответствующими навыками, чтобы он разобрался в этом. Если это будет сделано, вы бы рассмотрели возможность включения этого в ядро, при условии, что всё будет работать и пройдут все тесты? Или же нижние подчёркивания/дефисы — это то, что в именах пользователей Discourse никогда не появится? Просто пытаюсь понять, будет ли это патч (PR) или плагин.