Class: RenderEditorjs::Blocks::Header

Inherits:
Base
  • Object
show all
Defined in:
lib/render_editorjs/blocks/header.rb

Overview

Compatible with github.com/editor-js/header

Constant Summary collapse

SCHEMA =
YAML.safe_load("type: object\nadditionalProperties: false\nproperties:\n  text:\n    type: string\n  level:\n    type: number\n    enum: [1,2,3,4,5,6]\n  alignment:\n    type: string\n    enum:\n      - left\n      - center\n      - right\nrequired:\n- text\n- level\n")

Instance Attribute Summary

Attributes inherited from Base

#output_buffer, #raw

Instance Method Summary collapse

Methods inherited from Base

#valid?, #validator

Instance Method Details

#render(data) ⇒ Object



27
28
29
30
31
32
33
# File 'lib/render_editorjs/blocks/header.rb', line 27

def render(data)
  return unless valid?(data)

  alignment = data["alignment"]
  css_class = alignment ? "align-#{alignment}" : nil
  (:"h#{data["level"]}", sanitize(data["text"]).html_safe, class: css_class)
end

#sanitize(text) ⇒ Object



35
36
37
# File 'lib/render_editorjs/blocks/header.rb', line 35

def sanitize(text)
  Sanitize.fragment(text, remove_contents: true).strip
end