editor_js 0.3.5 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Changes.md +6 -0
- data/Gemfile.lock +55 -55
- data/README.md +30 -3
- data/editor_js.gemspec +4 -4
- data/lib/common_marker/custom_html_render.rb +12 -0
- data/lib/common_marker/rouge.rb +66 -0
- data/lib/editor_js/blocks/markdown_block.rb +20 -39
- data/lib/editor_js/document.rb +7 -7
- data/lib/editor_js/version.rb +1 -1
- data/lib/editor_js.rb +3 -2
- metadata +27 -30
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 39729360ee7471d852aa04a598687de0afedb79cd1cf56a2196731bb21c85a5e
|
|
4
|
+
data.tar.gz: d5781ef2b0f8f48d13386b06e72c5bab6f9bd35dfa1ef84b406ab3cfdc7c7d57
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 1dbdc91120a843bac1ceb161e9b1b2de3ee6c7e6fd33a3c2e925cc8cf3fedae7e2e8601379f9d14b0fc5a986c0df1d1eb53f68808775b7151aea0538838dc85e
|
|
7
|
+
data.tar.gz: 8431e9d06fab59d6e630483ad99176bc72033d58a54bdc2a42214a3c535c7496e2f22c57f6fd5c33f46fe20410efc1dbbd0952a8d276fb8cf24d5ad889787628
|
data/Changes.md
ADDED
data/Gemfile.lock
CHANGED
|
@@ -1,85 +1,85 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
editor_js (0.
|
|
4
|
+
editor_js (0.4.0)
|
|
5
5
|
actionview (>= 4)
|
|
6
6
|
activesupport (>= 4)
|
|
7
|
-
|
|
7
|
+
commonmarker (~> 0.21.2)
|
|
8
8
|
htmlentities (~> 4.3, >= 4.3.4)
|
|
9
9
|
json-schema (~> 2)
|
|
10
|
-
|
|
11
|
-
sanitize (~>
|
|
10
|
+
rouge (~> 3.26)
|
|
11
|
+
sanitize (~> 6.0.0)
|
|
12
12
|
|
|
13
13
|
GEM
|
|
14
14
|
remote: https://rubygems.org/
|
|
15
15
|
specs:
|
|
16
|
-
actionview (6.
|
|
17
|
-
activesupport (= 6.
|
|
16
|
+
actionview (6.1.4)
|
|
17
|
+
activesupport (= 6.1.4)
|
|
18
18
|
builder (~> 3.1)
|
|
19
19
|
erubi (~> 1.4)
|
|
20
20
|
rails-dom-testing (~> 2.0)
|
|
21
21
|
rails-html-sanitizer (~> 1.1, >= 1.2.0)
|
|
22
|
-
activesupport (6.
|
|
22
|
+
activesupport (6.1.4)
|
|
23
23
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
|
24
|
-
i18n (>=
|
|
25
|
-
minitest (
|
|
26
|
-
tzinfo (~>
|
|
27
|
-
zeitwerk (~> 2.
|
|
28
|
-
addressable (2.
|
|
24
|
+
i18n (>= 1.6, < 2)
|
|
25
|
+
minitest (>= 5.1)
|
|
26
|
+
tzinfo (~> 2.0)
|
|
27
|
+
zeitwerk (~> 2.3)
|
|
28
|
+
addressable (2.8.0)
|
|
29
29
|
public_suffix (>= 2.0.2, < 5.0)
|
|
30
|
-
ast (2.4.
|
|
30
|
+
ast (2.4.2)
|
|
31
31
|
builder (3.2.4)
|
|
32
|
-
coderay (1.1.
|
|
33
|
-
|
|
32
|
+
coderay (1.1.3)
|
|
33
|
+
commonmarker (0.21.2)
|
|
34
|
+
ruby-enum (~> 0.5)
|
|
35
|
+
concurrent-ruby (1.1.9)
|
|
34
36
|
crass (1.0.6)
|
|
35
|
-
diff-lcs (1.
|
|
36
|
-
docile (1.
|
|
37
|
-
erubi (1.
|
|
37
|
+
diff-lcs (1.4.4)
|
|
38
|
+
docile (1.4.0)
|
|
39
|
+
erubi (1.10.0)
|
|
38
40
|
htmlentities (4.3.4)
|
|
39
|
-
i18n (1.8.
|
|
41
|
+
i18n (1.8.10)
|
|
40
42
|
concurrent-ruby (~> 1.0)
|
|
41
43
|
jaro_winkler (1.5.4)
|
|
42
|
-
json (2.
|
|
44
|
+
json (2.5.1)
|
|
43
45
|
json-schema (2.8.1)
|
|
44
46
|
addressable (>= 2.4)
|
|
45
|
-
loofah (2.
|
|
47
|
+
loofah (2.12.0)
|
|
46
48
|
crass (~> 1.0.2)
|
|
47
49
|
nokogiri (>= 1.5.9)
|
|
48
50
|
method_source (0.9.2)
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
parallel (1.19.1)
|
|
56
|
-
parser (2.6.5.0)
|
|
57
|
-
ast (~> 2.4.0)
|
|
51
|
+
minitest (5.14.4)
|
|
52
|
+
nokogiri (1.12.3-x86_64-darwin)
|
|
53
|
+
racc (~> 1.4)
|
|
54
|
+
parallel (1.20.1)
|
|
55
|
+
parser (3.0.2.0)
|
|
56
|
+
ast (~> 2.4.1)
|
|
58
57
|
pry (0.12.2)
|
|
59
58
|
coderay (~> 1.1.0)
|
|
60
59
|
method_source (~> 0.9.0)
|
|
61
|
-
public_suffix (4.0.
|
|
60
|
+
public_suffix (4.0.6)
|
|
61
|
+
racc (1.5.2)
|
|
62
62
|
rails-dom-testing (2.0.3)
|
|
63
63
|
activesupport (>= 4.2.0)
|
|
64
64
|
nokogiri (>= 1.6)
|
|
65
65
|
rails-html-sanitizer (1.3.0)
|
|
66
66
|
loofah (~> 2.3)
|
|
67
67
|
rainbow (3.0.0)
|
|
68
|
-
rake (13.0.
|
|
69
|
-
|
|
70
|
-
rspec (3.
|
|
71
|
-
rspec-core (~> 3.
|
|
72
|
-
rspec-expectations (~> 3.
|
|
73
|
-
rspec-mocks (~> 3.
|
|
74
|
-
rspec-core (3.
|
|
75
|
-
rspec-support (~> 3.
|
|
76
|
-
rspec-expectations (3.
|
|
68
|
+
rake (13.0.6)
|
|
69
|
+
rouge (3.26.0)
|
|
70
|
+
rspec (3.10.0)
|
|
71
|
+
rspec-core (~> 3.10.0)
|
|
72
|
+
rspec-expectations (~> 3.10.0)
|
|
73
|
+
rspec-mocks (~> 3.10.0)
|
|
74
|
+
rspec-core (3.10.1)
|
|
75
|
+
rspec-support (~> 3.10.0)
|
|
76
|
+
rspec-expectations (3.10.1)
|
|
77
77
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
78
|
-
rspec-support (~> 3.
|
|
79
|
-
rspec-mocks (3.
|
|
78
|
+
rspec-support (~> 3.10.0)
|
|
79
|
+
rspec-mocks (3.10.2)
|
|
80
80
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
81
|
-
rspec-support (~> 3.
|
|
82
|
-
rspec-support (3.
|
|
81
|
+
rspec-support (~> 3.10.0)
|
|
82
|
+
rspec-support (3.10.2)
|
|
83
83
|
rubocop (0.77.0)
|
|
84
84
|
jaro_winkler (~> 1.5.1)
|
|
85
85
|
parallel (~> 1.10)
|
|
@@ -87,24 +87,24 @@ GEM
|
|
|
87
87
|
rainbow (>= 2.2.2, < 4.0)
|
|
88
88
|
ruby-progressbar (~> 1.7)
|
|
89
89
|
unicode-display_width (>= 1.4.0, < 1.7)
|
|
90
|
-
ruby-
|
|
91
|
-
|
|
90
|
+
ruby-enum (0.9.0)
|
|
91
|
+
i18n
|
|
92
|
+
ruby-progressbar (1.11.0)
|
|
93
|
+
sanitize (6.0.0)
|
|
92
94
|
crass (~> 1.0.2)
|
|
93
|
-
nokogiri (>= 1.
|
|
94
|
-
nokogumbo (~> 2.0)
|
|
95
|
+
nokogiri (>= 1.12.0)
|
|
95
96
|
simplecov (0.17.1)
|
|
96
97
|
docile (~> 1.1)
|
|
97
98
|
json (>= 1.8, < 3)
|
|
98
99
|
simplecov-html (~> 0.10.0)
|
|
99
100
|
simplecov-html (0.10.2)
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
zeitwerk (2.3.1)
|
|
101
|
+
tzinfo (2.0.4)
|
|
102
|
+
concurrent-ruby (~> 1.0)
|
|
103
|
+
unicode-display_width (1.6.1)
|
|
104
|
+
zeitwerk (2.4.2)
|
|
105
105
|
|
|
106
106
|
PLATFORMS
|
|
107
|
-
|
|
107
|
+
x86_64-darwin-20
|
|
108
108
|
|
|
109
109
|
DEPENDENCIES
|
|
110
110
|
bundler (~> 2.0)
|
|
@@ -116,4 +116,4 @@ DEPENDENCIES
|
|
|
116
116
|
simplecov (~> 0.17.1)
|
|
117
117
|
|
|
118
118
|
BUNDLED WITH
|
|
119
|
-
2.
|
|
119
|
+
2.2.25
|
data/README.md
CHANGED
|
@@ -2,9 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
[](https://badge.fury.io/rb/editor_js) [](https://travis-ci.org/xiaohui-zhangxh/editor_js) [](https://codeclimate.com/github/xiaohui-zhangxh/editor_js/maintainability) [](https://codeclimate.com/github/xiaohui-zhangxh/editor_js/test_coverage) 
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
TODO: Delete this and the text above, and describe your gem
|
|
5
|
+
A Ruby renderer for EditorJS https://editorjs.io/
|
|
8
6
|
|
|
9
7
|
## Installation
|
|
10
8
|
|
|
@@ -34,6 +32,35 @@ doc.output # [Hash] return sanitized data
|
|
|
34
32
|
|
|
35
33
|
```
|
|
36
34
|
|
|
35
|
+
**Capture invalid block:**
|
|
36
|
+
|
|
37
|
+
```ruby
|
|
38
|
+
class MyInvalidBlockRender do
|
|
39
|
+
def initialize(raw)
|
|
40
|
+
@raw = raw
|
|
41
|
+
# can record/log invalid block from here:
|
|
42
|
+
# Sentry.capture_message "invalid block: #{raw}"
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
def valid?
|
|
46
|
+
false
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
def render
|
|
50
|
+
'<div>invalid block</div>'
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
def plain; end
|
|
54
|
+
def output; {} end
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
doc = EditorJs::Document.new(editor_js_output, invalid_block_renderer: MyInvalidBlockRender)
|
|
58
|
+
doc.render # [String] render HTML for display
|
|
59
|
+
doc.plain # [String] render text for full-text searching
|
|
60
|
+
doc.output # [Hash] return sanitized data
|
|
61
|
+
|
|
62
|
+
```
|
|
63
|
+
|
|
37
64
|
## Development
|
|
38
65
|
|
|
39
66
|
After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
|
data/editor_js.gemspec
CHANGED
|
@@ -27,11 +27,11 @@ Gem::Specification.new do |spec|
|
|
|
27
27
|
|
|
28
28
|
spec.add_dependency 'actionview', '>= 4'
|
|
29
29
|
spec.add_dependency 'activesupport', '>= 4'
|
|
30
|
-
spec.add_dependency '
|
|
31
|
-
spec.add_dependency 'sanitize', '~> 5.1'
|
|
30
|
+
spec.add_dependency 'commonmarker', '~> 0.21.2'
|
|
32
31
|
spec.add_dependency 'htmlentities', '~> 4.3', '>= 4.3.4'
|
|
33
|
-
spec.add_dependency '
|
|
34
|
-
spec.add_dependency '
|
|
32
|
+
spec.add_dependency 'json-schema', '~> 2'
|
|
33
|
+
spec.add_dependency 'rouge', '~> 3.26'
|
|
34
|
+
spec.add_dependency 'sanitize', '~> 6.0.0'
|
|
35
35
|
spec.add_development_dependency "bundler", "~> 2.0"
|
|
36
36
|
spec.add_development_dependency "rake", "~> 13.0"
|
|
37
37
|
spec.add_development_dependency "rspec", "~> 3.0"
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
class CommonMarker::CustomHtmlRenderer < CommonMarker::HtmlRenderer
|
|
2
|
+
def tasklist(node)
|
|
3
|
+
return '' unless tasklist?(node)
|
|
4
|
+
|
|
5
|
+
state = if checked?(node)
|
|
6
|
+
'checked="" disabled=""'
|
|
7
|
+
else
|
|
8
|
+
'disabled=""'
|
|
9
|
+
end
|
|
10
|
+
" class=\"task-list-item\"><input type=\"checkbox\" #{state} /"
|
|
11
|
+
end
|
|
12
|
+
end
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
require 'common_marker/custom_html_render'
|
|
2
|
+
|
|
3
|
+
# frozen_string_literal: true
|
|
4
|
+
module CommonMarker
|
|
5
|
+
# rouge
|
|
6
|
+
module Rouge
|
|
7
|
+
module_function
|
|
8
|
+
|
|
9
|
+
def render_doc(text, cmark_options = :DEFAULT, extensions = [], **cmr_options)
|
|
10
|
+
cmark = cmr_options[:cmark_class] || ::CommonMarker
|
|
11
|
+
|
|
12
|
+
ast = cmark.render_doc(text, cmark_options, extensions)
|
|
13
|
+
process_ast(ast, cmr_options)
|
|
14
|
+
ast
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def render_html(text, cmark_options = :DEFAULT, render_options = :UNSAFE, extensions = [], **cmr_options)
|
|
18
|
+
doc = render_doc(text, cmark_options, extensions, **cmr_options)
|
|
19
|
+
CommonMarker::CustomHtmlRenderer.new(options: render_options, extensions: extensions).render(doc)
|
|
20
|
+
# doc.to_html(render_options)
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
def process_ast(ast, cmr_options)
|
|
24
|
+
ast.walk do |node|
|
|
25
|
+
if node.type == :code_block
|
|
26
|
+
next if node.fence_info == ''
|
|
27
|
+
|
|
28
|
+
source = node.string_content
|
|
29
|
+
|
|
30
|
+
lexer = ::Rouge::Lexer.find_fancy(node.fence_info) || ::Rouge::Lexers::PlainText.new
|
|
31
|
+
|
|
32
|
+
formatter_class = cmr_options[:formatter_class]
|
|
33
|
+
formatter = cmr_options[:formatter]
|
|
34
|
+
|
|
35
|
+
# support format accepting class for a time being
|
|
36
|
+
if formatter.is_a? Class
|
|
37
|
+
formatter_class ||= formatter
|
|
38
|
+
formatter = nil
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
formatter_class ||= ::Rouge::Formatters::HTML
|
|
42
|
+
|
|
43
|
+
formatter ||= formatter_class.new(cmr_options[:options] || {})
|
|
44
|
+
|
|
45
|
+
html = '<div class="highlighter-rouge language-' + CGI.escapeHTML(node.fence_info) + '">' + formatter.format(lexer.lex(source)) + '</div>'
|
|
46
|
+
|
|
47
|
+
new_node = ::CommonMarker::Node.new(:html)
|
|
48
|
+
new_node.string_content = html
|
|
49
|
+
|
|
50
|
+
node.insert_before(new_node)
|
|
51
|
+
node.delete
|
|
52
|
+
elsif node.type == :html
|
|
53
|
+
node.string_content = ::Sanitize.fragment(
|
|
54
|
+
node.string_content,
|
|
55
|
+
::Sanitize::Config.merge(
|
|
56
|
+
::Sanitize::Config::BASIC,
|
|
57
|
+
remove_contents: true
|
|
58
|
+
)
|
|
59
|
+
)
|
|
60
|
+
end
|
|
61
|
+
end
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
private_class_method :process_ast
|
|
65
|
+
end
|
|
66
|
+
end
|
|
@@ -4,21 +4,6 @@ module EditorJs
|
|
|
4
4
|
module Blocks
|
|
5
5
|
# markdown block
|
|
6
6
|
class MarkdownBlock < Base
|
|
7
|
-
class HTMLwithCodeRay < Redcarpet::Render::HTML
|
|
8
|
-
def block_code(code, language)
|
|
9
|
-
CodeRay.scan(code, language || :text).div(css: :class)
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
def list_item(text, list_type)
|
|
13
|
-
if text.start_with?("[x]", "[X]")
|
|
14
|
-
text[0..2] = %(<input type='checkbox' checked='checked' disabled>)
|
|
15
|
-
elsif text.start_with?("[ ]")
|
|
16
|
-
text[0..2] = %(<input type='checkbox' disabled>)
|
|
17
|
-
end
|
|
18
|
-
%(<li>#{text}</li>)
|
|
19
|
-
end
|
|
20
|
-
end
|
|
21
|
-
|
|
22
7
|
def sanitize!; end
|
|
23
8
|
|
|
24
9
|
def schema
|
|
@@ -31,33 +16,29 @@ module EditorJs
|
|
|
31
16
|
YAML
|
|
32
17
|
end
|
|
33
18
|
|
|
19
|
+
# commonmarker: markdown to html
|
|
20
|
+
# https://github.com/gjtorikian/commonmarker
|
|
21
|
+
# https://github.github.com/gfm/#ordered-list
|
|
22
|
+
# https://meta.stackexchange.com/questions/348746/were-switching-to-commonmark
|
|
23
|
+
|
|
24
|
+
# rouge: syntax highlighter
|
|
25
|
+
# https://github.com/rouge-ruby/rouge/
|
|
26
|
+
# https://spsarolkar.github.io/rouge-theme-preview/
|
|
27
|
+
# shell: rougify help style
|
|
28
|
+
# # Get some CSS
|
|
29
|
+
# Rouge::Themes::Base16.mode(:light).render(scope: '.highlight')
|
|
30
|
+
# # Or use Theme#find with string input
|
|
31
|
+
# Rouge::Theme.find('base16.light').render(scope: '.highlight')
|
|
34
32
|
def render(_options = {})
|
|
35
33
|
content_tag :div, class: css_name do
|
|
36
34
|
content_text = data['text'] || ''
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
renderer = HTMLwithCodeRay.new(render_options)
|
|
45
|
-
|
|
46
|
-
options = {
|
|
47
|
-
autolink: true,
|
|
48
|
-
fenced_code_blocks: true,
|
|
49
|
-
lax_spacing: true,
|
|
50
|
-
no_intra_emphasis: true,
|
|
51
|
-
strikethrough: true,
|
|
52
|
-
tables: true,
|
|
53
|
-
superscript: true,
|
|
54
|
-
highlight: true,
|
|
55
|
-
quote: true,
|
|
56
|
-
footnotes: true
|
|
57
|
-
}
|
|
58
|
-
markdown_to_html = Redcarpet::Markdown.new(renderer, options)
|
|
59
|
-
|
|
60
|
-
markdown_to_html.render(content_text).html_safe
|
|
35
|
+
CommonMarker::Rouge.render_html(
|
|
36
|
+
content_text,
|
|
37
|
+
%i[UNSAFE FOOTNOTES STRIKETHROUGH_DOUBLE_TILDE],
|
|
38
|
+
%i[UNSAFE GITHUB_PRE_LANG HARDBREAKS TABLE_PREFER_STYLE_ATTRIBUTES FULL_INFO_STRING FOOTNOTES],
|
|
39
|
+
%i[table strikethrough tasklist tagfilter],
|
|
40
|
+
formatter: Rouge::Formatters::HTMLLegacy.new(inline_theme: 'github')
|
|
41
|
+
).html_safe
|
|
61
42
|
end
|
|
62
43
|
end
|
|
63
44
|
|
data/lib/editor_js/document.rb
CHANGED
|
@@ -21,8 +21,9 @@ module EditorJs
|
|
|
21
21
|
- version
|
|
22
22
|
YAML
|
|
23
23
|
|
|
24
|
-
def initialize(str_or_hash)
|
|
24
|
+
def initialize(str_or_hash, invalid_block_renderer: nil)
|
|
25
25
|
str_or_hash = JSON.parse(str_or_hash) unless str_or_hash.is_a?(Hash)
|
|
26
|
+
@invalid_block_renderer = invalid_block_renderer
|
|
26
27
|
@content = str_or_hash
|
|
27
28
|
@blocks = []
|
|
28
29
|
end
|
|
@@ -33,12 +34,11 @@ module EditorJs
|
|
|
33
34
|
@valid = JSON::Validator.validate(SCHEMA, @content)
|
|
34
35
|
return false unless @valid
|
|
35
36
|
|
|
36
|
-
blocks = @content['blocks'].map do |blk_data|
|
|
37
|
-
EditorJs::Blocks::Base.load(blk_data)
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
@
|
|
41
|
-
@valid
|
|
37
|
+
@blocks = @content['blocks'].map do |blk_data|
|
|
38
|
+
blk = EditorJs::Blocks::Base.load(blk_data)
|
|
39
|
+
blk.valid? ? blk : @invalid_block_renderer&.new(blk_data)
|
|
40
|
+
end.compact
|
|
41
|
+
@valid = @blocks.count.positive?
|
|
42
42
|
end
|
|
43
43
|
|
|
44
44
|
def render
|
data/lib/editor_js/version.rb
CHANGED
data/lib/editor_js.rb
CHANGED
|
@@ -8,8 +8,9 @@ require 'action_view/helpers'
|
|
|
8
8
|
require 'json-schema'
|
|
9
9
|
require 'sanitize'
|
|
10
10
|
require 'htmlentities'
|
|
11
|
-
require '
|
|
12
|
-
require '
|
|
11
|
+
require 'commonmarker'
|
|
12
|
+
require 'rouge'
|
|
13
|
+
require 'common_marker/rouge'
|
|
13
14
|
require 'editor_js/version'
|
|
14
15
|
require 'editor_js/blocks/base'
|
|
15
16
|
require 'editor_js/blocks/checklist_block'
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: editor_js
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.4.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- xiaohui
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2021-11-11 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: actionview
|
|
@@ -39,87 +39,81 @@ dependencies:
|
|
|
39
39
|
- !ruby/object:Gem::Version
|
|
40
40
|
version: '4'
|
|
41
41
|
- !ruby/object:Gem::Dependency
|
|
42
|
-
name:
|
|
42
|
+
name: commonmarker
|
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
|
44
44
|
requirements:
|
|
45
45
|
- - "~>"
|
|
46
46
|
- !ruby/object:Gem::Version
|
|
47
|
-
version:
|
|
47
|
+
version: 0.21.2
|
|
48
48
|
type: :runtime
|
|
49
49
|
prerelease: false
|
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
|
51
51
|
requirements:
|
|
52
52
|
- - "~>"
|
|
53
53
|
- !ruby/object:Gem::Version
|
|
54
|
-
version:
|
|
54
|
+
version: 0.21.2
|
|
55
55
|
- !ruby/object:Gem::Dependency
|
|
56
|
-
name:
|
|
56
|
+
name: htmlentities
|
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
|
58
58
|
requirements:
|
|
59
59
|
- - "~>"
|
|
60
60
|
- !ruby/object:Gem::Version
|
|
61
|
-
version: '
|
|
61
|
+
version: '4.3'
|
|
62
|
+
- - ">="
|
|
63
|
+
- !ruby/object:Gem::Version
|
|
64
|
+
version: 4.3.4
|
|
62
65
|
type: :runtime
|
|
63
66
|
prerelease: false
|
|
64
67
|
version_requirements: !ruby/object:Gem::Requirement
|
|
65
68
|
requirements:
|
|
66
69
|
- - "~>"
|
|
67
70
|
- !ruby/object:Gem::Version
|
|
68
|
-
version: '
|
|
71
|
+
version: '4.3'
|
|
72
|
+
- - ">="
|
|
73
|
+
- !ruby/object:Gem::Version
|
|
74
|
+
version: 4.3.4
|
|
69
75
|
- !ruby/object:Gem::Dependency
|
|
70
|
-
name:
|
|
76
|
+
name: json-schema
|
|
71
77
|
requirement: !ruby/object:Gem::Requirement
|
|
72
78
|
requirements:
|
|
73
79
|
- - "~>"
|
|
74
80
|
- !ruby/object:Gem::Version
|
|
75
|
-
version: '
|
|
76
|
-
- - ">="
|
|
77
|
-
- !ruby/object:Gem::Version
|
|
78
|
-
version: 4.3.4
|
|
81
|
+
version: '2'
|
|
79
82
|
type: :runtime
|
|
80
83
|
prerelease: false
|
|
81
84
|
version_requirements: !ruby/object:Gem::Requirement
|
|
82
85
|
requirements:
|
|
83
86
|
- - "~>"
|
|
84
87
|
- !ruby/object:Gem::Version
|
|
85
|
-
version: '
|
|
86
|
-
- - ">="
|
|
87
|
-
- !ruby/object:Gem::Version
|
|
88
|
-
version: 4.3.4
|
|
88
|
+
version: '2'
|
|
89
89
|
- !ruby/object:Gem::Dependency
|
|
90
|
-
name:
|
|
90
|
+
name: rouge
|
|
91
91
|
requirement: !ruby/object:Gem::Requirement
|
|
92
92
|
requirements:
|
|
93
93
|
- - "~>"
|
|
94
94
|
- !ruby/object:Gem::Version
|
|
95
|
-
version: '3.
|
|
95
|
+
version: '3.26'
|
|
96
96
|
type: :runtime
|
|
97
97
|
prerelease: false
|
|
98
98
|
version_requirements: !ruby/object:Gem::Requirement
|
|
99
99
|
requirements:
|
|
100
100
|
- - "~>"
|
|
101
101
|
- !ruby/object:Gem::Version
|
|
102
|
-
version: '3.
|
|
102
|
+
version: '3.26'
|
|
103
103
|
- !ruby/object:Gem::Dependency
|
|
104
|
-
name:
|
|
104
|
+
name: sanitize
|
|
105
105
|
requirement: !ruby/object:Gem::Requirement
|
|
106
106
|
requirements:
|
|
107
107
|
- - "~>"
|
|
108
108
|
- !ruby/object:Gem::Version
|
|
109
|
-
version:
|
|
110
|
-
- - ">="
|
|
111
|
-
- !ruby/object:Gem::Version
|
|
112
|
-
version: 1.1.2
|
|
109
|
+
version: 6.0.0
|
|
113
110
|
type: :runtime
|
|
114
111
|
prerelease: false
|
|
115
112
|
version_requirements: !ruby/object:Gem::Requirement
|
|
116
113
|
requirements:
|
|
117
114
|
- - "~>"
|
|
118
115
|
- !ruby/object:Gem::Version
|
|
119
|
-
version:
|
|
120
|
-
- - ">="
|
|
121
|
-
- !ruby/object:Gem::Version
|
|
122
|
-
version: 1.1.2
|
|
116
|
+
version: 6.0.0
|
|
123
117
|
- !ruby/object:Gem::Dependency
|
|
124
118
|
name: bundler
|
|
125
119
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -173,6 +167,7 @@ files:
|
|
|
173
167
|
- ".rspec"
|
|
174
168
|
- ".rubocop.yml"
|
|
175
169
|
- ".travis.yml"
|
|
170
|
+
- Changes.md
|
|
176
171
|
- Gemfile
|
|
177
172
|
- Gemfile.lock
|
|
178
173
|
- LICENSE.txt
|
|
@@ -181,6 +176,8 @@ files:
|
|
|
181
176
|
- bin/console
|
|
182
177
|
- bin/setup
|
|
183
178
|
- editor_js.gemspec
|
|
179
|
+
- lib/common_marker/custom_html_render.rb
|
|
180
|
+
- lib/common_marker/rouge.rb
|
|
184
181
|
- lib/editor_js.rb
|
|
185
182
|
- lib/editor_js/blocks/attaches_block.rb
|
|
186
183
|
- lib/editor_js/blocks/base.rb
|
|
@@ -221,7 +218,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
221
218
|
- !ruby/object:Gem::Version
|
|
222
219
|
version: '0'
|
|
223
220
|
requirements: []
|
|
224
|
-
rubygems_version: 3.
|
|
221
|
+
rubygems_version: 3.1.6
|
|
225
222
|
signing_key:
|
|
226
223
|
specification_version: 4
|
|
227
224
|
summary: Ruby gem for editorjs.io text editor
|