diff --git a/plugins/comment_paragraph/lib/ext/article.rb b/plugins/comment_paragraph/lib/ext/article.rb index 874a521..e4529a4 100644 --- a/plugins/comment_paragraph/lib/ext/article.rb +++ b/plugins/comment_paragraph/lib/ext/article.rb @@ -24,14 +24,14 @@ class Article if body && (body_changed? || setting_changed?(:comment_paragraph_plugin_activate)) updated = body_changed? ? body_change[1] : body doc = Nokogiri::HTML(updated) - doc.css('body > div, body > span, body > p, li').each do |paragraph| + doc.css('li, body > div, body > span, body > p').each do |paragraph| next if paragraph.css('[data-macro="comment_paragraph_plugin/allow_comment"]').present? || paragraph.content.blank? commentable = Nokogiri::XML::Node.new("span", doc) commentable['class'] = "macro article_comments paragraph_comment #{paragraph['class']}" commentable['data-macro'] = 'comment_paragraph_plugin/allow_comment' commentable['data-macro-paragraph_uuid'] = SecureRandom.uuid - commentable.inner_html = paragraph.content + commentable.inner_html = paragraph.inner_html paragraph.inner_html = commentable end self.body = doc.at('body').inner_html diff --git a/plugins/comment_paragraph/test/unit/article_test.rb b/plugins/comment_paragraph/test/unit/article_test.rb index 254ed9e..7f6bbd3 100644 --- a/plugins/comment_paragraph/test/unit/article_test.rb +++ b/plugins/comment_paragraph/test/unit/article_test.rb @@ -49,6 +49,14 @@ class ArticleTest < ActiveSupport::TestCase assert_mark_paragraph article.body, 'li', 'item2' end + should 'parse inner html li when activate comment paragraph' do + article.body = '
' + article.comment_paragraph_plugin_activate = true + article.save! + assert_mark_paragraph article.body, 'li', 'item1' + assert_mark_paragraph article.body, 'li', 'item2' + end + should 'do not remove macro div when disable comment paragraph' do article.body = "

paragraph 1

" article.comment_paragraph_plugin_activate = true -- libgit2 0.21.2