Patch #40197 » 0001-Updates-commonmark-gem-version-to-1.1.5-which-switch.patch
Gemfile | ||
---|---|---|
51 | 51 | |
52 | 52 |
# Optional CommonMark support, not for JRuby |
53 | 53 |
group :common_mark do |
54 |
gem "commonmarker", '~> 0.23.8'
|
|
54 |
gem "commonmarker", '~> 1.1.0'
|
|
55 | 55 |
gem 'deckar01-task_list', '2.3.2' |
56 | 56 |
end |
57 | 57 |
lib/redmine.rb | ||
---|---|---|
30 | 30 |
# Redcarpet is not available |
31 | 31 |
end |
32 | 32 |
begin |
33 |
require 'commonmarker' unless Object.const_defined?(:CommonMarker)
|
|
33 |
require 'commonmarker' unless Object.const_defined?(:Commonmarker)
|
|
34 | 34 |
rescue LoadError |
35 | 35 |
# CommonMarker is not available |
36 | 36 |
end |
lib/redmine/preparation.rb | ||
---|---|---|
396 | 396 |
WikiFormatting.map do |format| |
397 | 397 |
format.register :textile |
398 | 398 |
format.register :markdown, label: 'Markdown (deprecated)' if Object.const_defined?(:Redcarpet) |
399 |
if Object.const_defined?(:CommonMarker)
|
|
399 |
if Object.const_defined?(:Commonmarker)
|
|
400 | 400 |
format.register :common_mark, label: 'CommonMark Markdown (GitHub Flavored)' |
401 | 401 |
end |
402 | 402 |
end |
lib/redmine/wiki_formatting/common_mark/formatter.rb | ||
---|---|---|
26 | 26 |
# configuration of the rendering pipeline |
27 | 27 |
PIPELINE_CONFIG = { |
28 | 28 |
# https://github.com/gjtorikian/commonmarker#extension-options |
29 |
commonmarker_extensions: [ |
|
30 |
:table, |
|
31 |
:strikethrough, |
|
32 |
:tagfilter, |
|
33 |
:autolink |
|
34 |
].freeze, |
|
29 |
commonmarker_extensions: { |
|
30 |
table: true, |
|
31 |
strikethrough: true, |
|
32 |
tagfilter: true, |
|
33 |
autolink: true, |
|
34 |
footnotes: true, |
|
35 |
}.freeze, |
|
35 | 36 | |
36 | 37 |
# https://github.com/gjtorikian/commonmarker#parse-options |
37 |
commonmarker_parse_options: [ |
|
38 |
:FOOTNOTES, |
|
39 |
:STRIKETHROUGH_DOUBLE_TILDE, |
|
40 |
:UNSAFE, |
|
41 |
:VALIDATE_UTF8 |
|
42 |
].freeze, |
|
38 |
commonmarker_parse_options: { |
|
39 |
}.freeze, |
|
43 | 40 | |
44 | 41 |
# https://github.com/gjtorikian/commonmarker#render-options |
45 |
commonmarker_render_options: [
|
|
46 |
:UNSAFE
|
|
47 |
],
|
|
42 |
commonmarker_render_options: {
|
|
43 |
unsafe: true
|
|
44 |
},
|
|
48 | 45 |
}.freeze |
49 | 46 | |
50 | 47 |
if Redmine::Configuration['common_mark_enable_hardbreaks'] == true |
51 |
PIPELINE_CONFIG[:commonmarker_render_options].push(:HARDBREAKS)
|
|
48 |
PIPELINE_CONFIG[:commonmarker_render_options].merge!({hardbreaks: true})
|
|
52 | 49 |
end |
53 | 50 |
PIPELINE_CONFIG[:commonmarker_render_options].freeze |
54 | 51 |
lib/redmine/wiki_formatting/common_mark/markdown_filter.rb | ||
---|---|---|
32 | 32 |
end |
33 | 33 | |
34 | 34 |
def call |
35 |
doc = CommonMarker.render_doc(@text, parse_options, extensions) |
|
36 |
html = doc.to_html render_options, extensions |
|
35 |
html = Commonmarker.to_html(@text, options: { |
|
36 |
extension: extensions, |
|
37 |
render: render_options, |
|
38 |
parse: parse_options |
|
39 |
}) |
|
40 | ||
37 | 41 |
html.rstrip! |
38 | 42 |
html |
39 | 43 |
end |
... | ... | |
41 | 45 |
private |
42 | 46 | |
43 | 47 |
def extensions |
44 |
context.fetch :commonmarker_extensions, []
|
|
48 |
context.fetch :commonmarker_extensions, {}
|
|
45 | 49 |
end |
46 | 50 | |
47 | 51 |
def parse_options |
48 |
context.fetch :commonmarker_parse_options, :DEFAULT
|
|
52 |
context.fetch :commonmarker_parse_options, {}
|
|
49 | 53 |
end |
50 | 54 | |
51 | 55 |
def render_options |
52 |
context.fetch :commonmarker_render_options, :DEFAULT
|
|
56 |
context.fetch :commonmarker_render_options, {}
|
|
53 | 57 |
end |
54 | 58 |
end |
55 | 59 |
end |
test/unit/lib/redmine/wiki_formatting/common_mark/application_helper_test.rb | ||
---|---|---|
20 | 20 |
require_relative '../../../../../test_helper' |
21 | 21 | |
22 | 22 |
class Redmine::WikiFormatting::CommonMark::ApplicationHelperTest < Redmine::HelperTest |
23 |
if Object.const_defined?(:CommonMarker)
|
|
23 |
if Object.const_defined?(:Commonmarker)
|
|
24 | 24 | |
25 | 25 |
include ERB::Util |
26 | 26 |
test/unit/lib/redmine/wiki_formatting/common_mark/external_links_filter_test.rb | ||
---|---|---|
19 | 19 | |
20 | 20 |
require_relative '../../../../../test_helper' |
21 | 21 | |
22 |
if Object.const_defined?(:CommonMarker)
|
|
22 |
if Object.const_defined?(:Commonmarker)
|
|
23 | 23 |
require 'redmine/wiki_formatting/common_mark/external_links_filter' |
24 | 24 | |
25 | 25 |
class Redmine::WikiFormatting::CommonMark::ExternalLinksFilterTest < ActiveSupport::TestCase |
test/unit/lib/redmine/wiki_formatting/common_mark/fixup_auto_links_filter_test.rb | ||
---|---|---|
19 | 19 | |
20 | 20 |
require_relative '../../../../../test_helper' |
21 | 21 | |
22 |
if Object.const_defined?(:CommonMarker)
|
|
22 |
if Object.const_defined?(:Commonmarker)
|
|
23 | 23 |
require 'redmine/wiki_formatting/common_mark/fixup_auto_links_filter' |
24 | 24 | |
25 | 25 |
class Redmine::WikiFormatting::CommonMark::FixupAutoLinksFilterTest < ActiveSupport::TestCase |
test/unit/lib/redmine/wiki_formatting/common_mark/formatter_test.rb | ||
---|---|---|
20 | 20 |
require_relative '../../../../../test_helper' |
21 | 21 | |
22 | 22 |
class Redmine::WikiFormatting::CommonMark::FormatterTest < ActionView::TestCase |
23 |
if Object.const_defined?(:CommonMarker)
|
|
23 |
if Object.const_defined?(:Commonmarker)
|
|
24 | 24 | |
25 | 25 |
def setup |
26 | 26 |
@formatter = Redmine::WikiFormatting::CommonMark::Formatter |
test/unit/lib/redmine/wiki_formatting/common_mark/markdown_filter_test.rb | ||
---|---|---|
19 | 19 | |
20 | 20 |
require_relative '../../../../../test_helper' |
21 | 21 | |
22 |
if Object.const_defined?(:CommonMarker)
|
|
22 |
if Object.const_defined?(:Commonmarker)
|
|
23 | 23 |
require 'redmine/wiki_formatting/common_mark/markdown_filter' |
24 | 24 | |
25 | 25 |
class Redmine::WikiFormatting::CommonMark::MarkdownFilterTest < ActiveSupport::TestCase |
test/unit/lib/redmine/wiki_formatting/common_mark/sanitization_filter_test.rb | ||
---|---|---|
19 | 19 | |
20 | 20 |
require_relative '../../../../../test_helper' |
21 | 21 | |
22 |
if Object.const_defined?(:CommonMarker)
|
|
22 |
if Object.const_defined?(:Commonmarker)
|
|
23 | 23 |
require 'redmine/wiki_formatting/common_mark/sanitization_filter' |
24 | 24 | |
25 | 25 |
class Redmine::WikiFormatting::CommonMark::SanitizationFilterTest < ActiveSupport::TestCase |
test/unit/lib/redmine/wiki_formatting/common_mark/syntax_highlight_filter_test.rb | ||
---|---|---|
18 | 18 |
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. |
19 | 19 | |
20 | 20 |
require_relative '../../../../../test_helper' |
21 |
if Object.const_defined?(:CommonMarker)
|
|
21 |
if Object.const_defined?(:Commonmarker)
|
|
22 | 22 |
require 'redmine/wiki_formatting/common_mark/syntax_highlight_filter' |
23 | 23 | |
24 | 24 |
class Redmine::WikiFormatting::CommonMark::SyntaxHighlightFilterTest < ActiveSupport::TestCase |