Мне нужно обновить CMS для обработки адаптивного изображения. Проблема в том, что CKEditor, Redactor, Froala и главный редактор wysiwig не могут обрабатывать адаптивные изображения, поэтому мне нужно найти обходной путь: в моей модели содержимого у меня есть meta_body
с содержимым редактора и атрибут body
с обработанным html,В основном, когда я редактирую контент, я сохраняю контент в meta_body
, а затем, с помощью обратного вызова a и after_save для моей модели контента, я обрабатываю тело.
Теперь вопрос: что является самым эффективным, самым безопасными самый чистый способ разобрать мой meta_body
, найти тег и заменить его отзывчивым тегом с изображением, подобным этому:
<picture>
<source media=”(min-width: 900px)” srcset=“image-lg_1x.webp 1x, image-lg_2x.webp 2x” type=“image/webp” > <source media=”(min-width: 601px)” srcset=“image-md_1x.webp 1x, image-md_2x.webp 2x” type=“image/webp” >
<source srcset=“image-sm_1x.webp 1x, image-sm_2x.webp 2x” type=“image/webp” >
<img srcset=“image-sm_1x.jpg 600w, image-md_1x.jpg 900w, image-lg_1x.jpg 1440w” src=“image_lg_1x.jpg” type=“image/jpeg” alt=”image description”>
</picture>
Я думаю использовать Nokogiri в модели, но, возможно, я могу использовать дезинфицирующее средство или что-то подобное...