0

Я был Авель, чтобы добавить кнопку источника УД «Изменить HTML», чтобы мой редактор со следующим крючке:Расширение Hallojs в Django трясогузки с Edit Source Button

@hooks.register('insert_editor_js') 
def enable_source(): 
    return format_html(
     """ 
     <script> 
      registerHalloPlugin('hallohtml'); 
     </script> 
     """ 
    ) 

Это добавляет кнопку, но я могу 't выяснить, как добавить значок - см. снимок экрана ниже без значка.

enter image description here

Все кнопки, за исключением без значка сделать редактор работы источником большой. Спасибо за помощь.

+2

Если вы окажетесь необходимости редактировать богатые текстовые поля на сырье HTML-уровне, в вашей модели данных почти наверняка будет что-то улучшаться. Текстовые поля богатого текста предназначены только для простого форматирования текста. Если вы пытаетесь сделать макеты/шрифты и т. Д., Это работа дизайнера шаблонов; если вы пытаетесь внедрить таблицы/диаграммы и т. д., посмотрите на StreamField (https://torchbox.com/blog/rich-text-fields-and-faster-horses/, http://docs.wagtail.io/en /v1.5.2/topics/streamfield.html). – gasman

+0

Спасибо .. Я уже использую Streamfield, но не заметил, что он не добавил никаких заранее определенных стилей, поэтому размещение пользовательского контента хорошо вписывается на страницу. Если вы поместите комментарий в качестве ответа, я приму его. Еще раз спасибо - любящий трясогузка !! –

+0

С плагином Studio Rooster сможет вставлять неразрывные пробелы, индексы и надстрочные знаки, привязки с целевым атрибутом (если он добавляет 'a ': attribute_rule ({' href ': check_url,' target ': True}) 'к' whitelist_element_rules'), emdash и т. д. Ничто из этого не касается макетов, шаблонов, таблиц или диаграмм. –

ответ

1

Используйте крючок insert_editor_css, чтобы предоставить дополнительные файлы CSS редактору.

@hooks.register('insert_editor_css') 
def editor_css(): 
    return format_html(
     '<link rel="stylesheet" href="{}">', 
     static('demo/css/editor-overrides.css') 
    ) 

В вашем hallohtml плагин JS, назначить icon-hallohtml на кнопку и используйте следующий CSS стиль его с H характером:

.hallotoolbar .halloformat .ui-button-text .icon-hallohtml:before { 
    content:'H'; 
}