У меня возникла такая же потребность, и я решил использовать хак для решения проблемы: я повторно ввел элемент .trix-content del
в CSS. Это работает, только если вам нужен только один собственный стиль. (Я мог сделать это, потому что мне не нужно форматирование зачеркивания, поэтому я мог (ab) использовать этот тег.)
Чтобы сделать его лучше, я заменил тег del
на правильный * 1005. * в содержании всякий раз, когда мне нужно было отобразить текст где-либо, кроме самого редактора Trix. То есть я использовал del
для разметки, сохранения и редактирования / обновления контента, и поменял его на правильный span
для отображения пользователю вне редактора.
При созданииформатированный текст, чтобы пометить его для выделения:
def create
...
object_params[:content].gsub!(/foo/i, '<del>\0</del>')
...
end
Затем при загрузке его для отображения вне редактора:
@new_content = @object.content.to_s.gsub(/<del>/i, '<span class="highlight">').gsub(/<\/del>/i, '</span>').html_safe
И SCSS:
// Trix-editor
.trix-content {
del {
background-color: $yellow;
text-decoration: none;
}
}
.highlight {
background-color: $yellow;
}
Это может не делать то, что вам нужно, и в любом случае немного неприятно. Было бы здорово, если бы Trix мог поддерживать произвольные теги span
!
(FWIW, мне нужно было отсканировать текстовый файл и выделить определенные слова для пользователя.)