Feature #32424 » demo_hardbreaks_setting.patch
app/views/settings/_general.html.erb | ||
---|---|---|
19 | 19 | |
20 | 20 |
<p><%= setting_select :protocol, [['HTTP', 'http'], ['HTTPS', 'https']] %></p> |
21 | 21 | |
22 |
<p><%= setting_select :text_formatting, Redmine::WikiFormatting.formats_for_select, :blank => :label_none %></p> |
|
23 | ||
22 |
<p><%= setting_select :text_formatting, Redmine::WikiFormatting.formats_for_select, :blank => :label_none %> |
|
23 |
<label class="block <%= "hidden" unless Setting.text_formatting == "common_mark" %>"> |
|
24 |
<%= setting_check_box :text_formatting_common_mark_hardbreaks, label: false %> |
|
25 |
<%= l(:setting_text_formatting_common_mark_hardbreaks) %> |
|
26 |
</label> |
|
27 |
</p> |
|
24 | 28 |
<p><%= setting_check_box :cache_formatted_text %></p> |
25 | 29 | |
26 | 30 |
<p><%= setting_select :wiki_compression, [['Gzip', 'gzip']], :blank => :label_none %></p> |
... | ... | |
32 | 36 | |
33 | 37 |
<%= submit_tag l(:button_save) %> |
34 | 38 |
<% end %> |
39 | ||
40 |
<%= javascript_tag do %> |
|
41 |
$('#settings_text_formatting').on('change', function(e){ |
|
42 |
const formatter = e.target.value; |
|
43 |
const parent_block = document.getElementById("settings_text_formatting_common_mark_hardbreaks").parentElement; |
|
44 | ||
45 |
if (formatter == "common_mark") { |
|
46 |
parent_block.classList.remove('hidden'); |
|
47 |
} else { |
|
48 |
parent_block.classList.add('hidden'); |
|
49 |
} |
|
50 |
}); |
|
51 |
<% end %> |
config/locales/en.yml | ||
---|---|---|
511 | 511 |
setting_project_list_defaults: Projects list defaults |
512 | 512 |
setting_twofa: Two-factor authentication |
513 | 513 |
setting_default_issue_query: Default Query |
514 |
setting_text_formatting_common_mark_hardbreaks: "Use regular line breaks (\\n) as hardbreaks" |
|
514 | 515 | |
515 | 516 |
permission_add_project: Create project |
516 | 517 |
permission_add_subprojects: Create subprojects |
config/settings.yml | ||
---|---|---|
98 | 98 |
default: 0 |
99 | 99 |
text_formatting: |
100 | 100 |
default: textile |
101 |
text_formatting_common_mark_hardbreaks: |
|
102 |
default: 1 |
|
101 | 103 |
cache_formatted_text: |
102 | 104 |
default: 0 |
103 | 105 |
wiki_compression: |
lib/redmine/wiki_formatting/common_mark/formatter.rb | ||
---|---|---|
43 | 43 |
# https://github.com/gjtorikian/commonmarker#render-options |
44 | 44 |
commonmarker_render_options: [ |
45 | 45 |
:UNSAFE |
46 |
].freeze,
|
|
46 |
], |
|
47 | 47 |
}.freeze |
48 | 48 | |
49 |
if Setting.text_formatting_common_mark_hardbreaks? |
|
50 |
PIPELINE_CONFIG[:commonmarker_render_options].push(:HARDBREAKS) |
|
51 |
PIPELINE_CONFIG[:commonmarker_render_options].freeze |
|
52 |
end |
|
53 | ||
49 | 54 |
MarkdownPipeline = HTML::Pipeline.new [ |
50 | 55 |
MarkdownFilter, |
51 | 56 |
SanitizationFilter, |
public/stylesheets/application.css | ||
---|---|---|
844 | 844 |
float: none; |
845 | 845 |
} |
846 | 846 | |
847 |
.tabular label.block.hidden { |
|
848 |
display: none; |
|
849 |
} |
|
850 | ||
847 | 851 |
.tabular label.inline{ |
848 | 852 |
font-weight: normal; |
849 | 853 |
float:none; |