Цитирование на основе выделения в тексте на Ruby ломает форматирование

Продолжение обсуждения из Разметка языка внутри строки? (сайт для изучения языков):

Не уверен, стоит ли это считать ошибкой или запросом на улучшение. По сути, когда вы цитируете текст с тегом ruby, цитата отображается некорректно. Например:

ほん

Если вы процитируете это, вы получите что-то вроде:
日に本ほん語

Можно ли как-то обновить это, чтобы цитата включала теги ruby для правильного форматирования? Или это считается «продвинутой» цитатой, которая будет работать только при цитировании всего сообщения?

3 лайка

Да, я бы хотел, чтобы мы это реализовали, это должно быть несложно… в нашем JS-реализации HTML → Markdown есть небольшой упущение.

@vinothkannans, можешь добавить это в свой список?

5 лайков

Отлично. Добавлю ещё один момент: я заметил, что часто фуригана (текст с тегом rt) над последним символом не подсвечивается и, следовательно, не берётся в кавычки (хотя должна). Скорее всего, это не составит большого труда исправить, поскольку всё это находится внутри последнего тега ruby, но об этом стоит помнить при реализации.

4 лайка

Хорошо, просто имейте в виду, что для нас это не приоритет номер один, но я считаю, что нам стоит завершить это в течение следующего месяца или двух. Задача уже распределена.

2 лайка

Есть ли шанс, что это будет сделано в ближайшее время? :slight_smile:

1 лайк

Конечно, я уже добавил это в свой список дел на эту неделю.

4 лайка

Готово. Указанный ниже коммит должен решить эту проблему.

4 лайка

Возможно, стоит сохранить все теги, связанные с Ruby, которые были добавлены в белый список, даже если rb и rp используются всё реже. rp применяется для обеспечения обратной совместимости со старыми браузерами, поэтому для Discourse это может быть не особенно актуально. В целом это не критично, но я подумал, что стоит упомянуть.

РЕДАКТИРОВАНИЕ:
Что важнее: когда я тестирую это на слове в моём первом посте (и только на нём), он не захватывает окружающие теги ruby, поэтому текст не форматируется как ожидалось. Если я выделю текст с обеих сторон перед цитированием, тег ruby включается, но этот обходной путь не сработает, если слово является первой или последней частью сообщения. Можно ли что-то сделать, чтобы гарантировать включение тегов ruby?

1 лайк

Конечно, я добавлю эти теги в белый список, если потребуется. Кроме того, это легко сделать в рамках вклада через pull request.

Это проблема пользовательского интерфейса на уровне браузера в функции копирования и вставки. Здесь мы мало что можем сделать.

3 лайка

Один из этих дней я настрою окружение разработчика Discourse. :sweat_smile:

Понял. В худшем случае я могу сделать полную цитату поста, чтобы получить правильный HTML для таких случаев. Это всё равно огромное улучшение. Спасибо!

3 лайка

Теперь теги rb и rp включены в белый список.

4 лайка

Эта тема была автоматически закрыта через 25 часов. Новые ответы больше не принимаются.