class RenderEditorjs::Blocks::Image
Render for github.com/editor-js/image
Constants
- SCHEMA
Public Instance Methods
render(data)
click to toggle source
# File lib/render_editorjs/blocks/image.rb, line 30 def render(data) return unless valid?(data) url = sanitize_url(data["file"]["url"]) caption = sanitize_caption(data["caption"]) with_border = data["withBorder"] with_background = data["withBackground"] stretched = data["stretched"] html_class = "picture" html_class += " picture--stretched" if stretched html_class += " picture--with-background" if with_background html_class += " picture--with-border" if with_border html_str = content_tag :div, class: html_class do content_tag :img, "", src: url end html_str << content_tag(:div, caption.html_safe, class: "caption").html_safe if caption.presence html_str end
sanitize(data)
click to toggle source
# File lib/render_editorjs/blocks/image.rb, line 51 def sanitize(data) %w[caption url].each do |key| str = Sanitize.fragment(data[key], remove_contents: true).strip str.gsub!("&", "&") if key == "url" data[key] = str end data end
sanitize_caption(caption)
click to toggle source
# File lib/render_editorjs/blocks/image.rb, line 65 def sanitize_caption(caption) Sanitize.fragment(caption, remove_contents: true).strip end
sanitize_url(url)
click to toggle source
# File lib/render_editorjs/blocks/image.rb, line 61 def sanitize_url(url) Sanitize.fragment(url, remove_contents: true).strip.gsub("&", "&") end