Commit 0be3187a authored by Douwe Maan's avatar Douwe Maan

Pull preserve into render helpers

parent 31b87b8c
...@@ -74,7 +74,7 @@ module MarkupHelper ...@@ -74,7 +74,7 @@ module MarkupHelper
context[:project] ||= @project context[:project] ||= @project
html = markdown_unsafe(text, context) html = markdown_unsafe(text, context)
banzai_postprocess(html, context) prepare_for_rendering(html, context)
end end
def markdown_field(object, field) def markdown_field(object, field)
...@@ -82,13 +82,13 @@ module MarkupHelper ...@@ -82,13 +82,13 @@ module MarkupHelper
return '' unless object.present? return '' unless object.present?
html = Banzai.render_field(object, field) html = Banzai.render_field(object, field)
banzai_postprocess(html, object.banzai_render_context(field)) prepare_for_rendering(html, object.banzai_render_context(field))
end end
def markup(file_name, text, context = {}) def markup(file_name, text, context = {})
context[:project] ||= @project context[:project] ||= @project
html = context.delete(:rendered) || markup_unsafe(file_name, text, context) html = context.delete(:rendered) || markup_unsafe(file_name, text, context)
banzai_postprocess(html, context) prepare_for_rendering(html, context)
end end
def render_wiki_content(wiki_page) def render_wiki_content(wiki_page)
...@@ -107,14 +107,14 @@ module MarkupHelper ...@@ -107,14 +107,14 @@ module MarkupHelper
wiki_page.formatted_content.html_safe wiki_page.formatted_content.html_safe
end end
banzai_postprocess(html, context) prepare_for_rendering(html, context)
end end
def markup_unsafe(file_name, text, context = {}) def markup_unsafe(file_name, text, context = {})
return '' unless text.present? return '' unless text.present?
if gitlab_markdown?(file_name) if gitlab_markdown?(file_name)
Hamlit::RailsHelpers.preserve(markdown_unsafe(text, context)) markdown_unsafe(text, context)
elsif asciidoc?(file_name) elsif asciidoc?(file_name)
asciidoc_unsafe(text) asciidoc_unsafe(text)
elsif plain?(file_name) elsif plain?(file_name)
...@@ -225,8 +225,7 @@ module MarkupHelper ...@@ -225,8 +225,7 @@ module MarkupHelper
Gitlab::OtherMarkup.render(file_name, text) Gitlab::OtherMarkup.render(file_name, text)
end end
# Calls Banzai.post_process with some common context options def prepare_for_rendering(html, context = {})
def banzai_postprocess(html, context = {})
return '' unless html.present? return '' unless html.present?
context.merge!( context.merge!(
...@@ -239,7 +238,9 @@ module MarkupHelper ...@@ -239,7 +238,9 @@ module MarkupHelper
requested_path: @path requested_path: @path
) )
Banzai.post_process(html, context) html = Banzai.post_process(html, context)
Hamlit::RailsHelpers.preserve(html)
end end
extend self extend self
......
...@@ -27,8 +27,7 @@ ...@@ -27,8 +27,7 @@
.row .row
.col-md-8 .col-md-8
.documentation-index .documentation-index
= preserve do = markdown(@help_index)
= markdown(@help_index)
.col-md-4 .col-md-4
.panel.panel-default .panel.panel-default
.panel-heading .panel-heading
......
...@@ -2,8 +2,7 @@ ...@@ -2,8 +2,7 @@
%div{ class: container_class } %div{ class: container_class }
.wiki-holder.prepend-top-default.append-bottom-default .wiki-holder.prepend-top-default.append-bottom-default
.wiki .wiki
= preserve do = render_wiki_content(@wiki_home)
= render_wiki_content(@wiki_home)
- else - else
- can_create_wiki = can?(current_user, :create_wiki, @project) - can_create_wiki = can?(current_user, :create_wiki, @project)
.project-home-empty{ class: [('row-content-block' if can_create_wiki), ('content-block' unless can_create_wiki)] } .project-home-empty{ class: [('row-content-block' if can_create_wiki), ('content-block' unless can_create_wiki)] }
......
...@@ -58,8 +58,7 @@ ...@@ -58,8 +58,7 @@
- if @issue.description.present? - if @issue.description.present?
.description{ class: can?(current_user, :update_issue, @issue) ? 'js-task-list-container' : '' } .description{ class: can?(current_user, :update_issue, @issue) ? 'js-task-list-container' : '' }
.wiki .wiki
= preserve do = markdown_field(@issue, :description)
= markdown_field(@issue, :description)
%textarea.hidden.js-task-list-field %textarea.hidden.js-task-list-field
= @issue.description = @issue.description
= edited_time_ago_with_tooltip(@issue, placement: 'bottom', html_class: 'issue_edited_ago') = edited_time_ago_with_tooltip(@issue, placement: 'bottom', html_class: 'issue_edited_ago')
......
...@@ -6,8 +6,7 @@ ...@@ -6,8 +6,7 @@
- if @merge_request.description.present? - if @merge_request.description.present?
.description{ class: can?(current_user, :update_merge_request, @merge_request) ? 'js-task-list-container' : '' } .description{ class: can?(current_user, :update_merge_request, @merge_request) ? 'js-task-list-container' : '' }
.wiki .wiki
= preserve do = markdown_field(@merge_request, :description)
= markdown_field(@merge_request, :description)
%textarea.hidden.js-task-list-field %textarea.hidden.js-task-list-field
= @merge_request.description = @merge_request.description
......
...@@ -43,8 +43,7 @@ ...@@ -43,8 +43,7 @@
- if @milestone.description.present? - if @milestone.description.present?
.description .description
.wiki .wiki
= preserve do = markdown_field(@milestone, :description)
= markdown_field(@milestone, :description)
- if can?(current_user, :read_issue, @project) && @milestone.total_items_count(current_user).zero? - if can?(current_user, :read_issue, @project) && @milestone.total_items_count(current_user).zero?
.alert.alert-success.prepend-top-default .alert.alert-success.prepend-top-default
......
...@@ -75,8 +75,7 @@ ...@@ -75,8 +75,7 @@
= icon('trash-o', class: 'danger-highlight') = icon('trash-o', class: 'danger-highlight')
.note-body{ class: note_editable ? 'js-task-list-container' : '' } .note-body{ class: note_editable ? 'js-task-list-container' : '' }
.note-text.md .note-text.md
= preserve do = note.redacted_note_html
= note.redacted_note_html
= edited_time_ago_with_tooltip(note, placement: 'bottom', html_class: 'note_edited_ago', include_author: true) = edited_time_ago_with_tooltip(note, placement: 'bottom', html_class: 'note_edited_ago', include_author: true)
- if note_editable - if note_editable
.original-note-content.hidden{ data: { post_url: namespace_project_note_path(@project.namespace, @project, note), target_id: note.noteable.id, target_type: note.noteable.class.name.underscore } } .original-note-content.hidden{ data: { post_url: namespace_project_note_path(@project.namespace, @project, note), target_id: note.noteable.id, target_type: note.noteable.class.name.underscore } }
......
...@@ -24,8 +24,7 @@ ...@@ -24,8 +24,7 @@
- if release && release.description.present? - if release && release.description.present?
.description.prepend-top-default .description.prepend-top-default
.wiki .wiki
= preserve do = markdown_field(release, :description)
= markdown_field(release, :description)
.row-fixed-content.controls .row-fixed-content.controls
= render 'projects/buttons/download', project: @project, ref: tag.name, pipeline: @tags_pipelines[tag.name] = render 'projects/buttons/download', project: @project, ref: tag.name, pipeline: @tags_pipelines[tag.name]
......
...@@ -38,7 +38,6 @@ ...@@ -38,7 +38,6 @@
- if @release.description.present? - if @release.description.present?
.description .description
.wiki .wiki
= preserve do = markdown_field(@release, :description)
= markdown_field(@release, :description)
- else - else
This tag has no release notes. This tag has no release notes.
...@@ -27,7 +27,6 @@ ...@@ -27,7 +27,6 @@
.wiki-holder.prepend-top-default.append-bottom-default .wiki-holder.prepend-top-default.append-bottom-default
.wiki .wiki
= preserve do = render_wiki_content(@page)
= render_wiki_content(@page)
= render 'sidebar' = render 'sidebar'
...@@ -8,7 +8,6 @@ ...@@ -8,7 +8,6 @@
.pull-right ##{issue.iid} .pull-right ##{issue.iid}
- if issue.description.present? - if issue.description.present?
.description.term .description.term
= preserve do = search_md_sanitize(issue, :description)
= search_md_sanitize(issue, :description)
%span.light %span.light
#{issue.project.name_with_namespace} #{issue.project.name_with_namespace}
...@@ -9,7 +9,6 @@ ...@@ -9,7 +9,6 @@
.pull-right= merge_request.to_reference .pull-right= merge_request.to_reference
- if merge_request.description.present? - if merge_request.description.present?
.description.term .description.term
= preserve do = search_md_sanitize(merge_request, :description)
= search_md_sanitize(merge_request, :description)
%span.light %span.light
#{merge_request.project.name_with_namespace} #{merge_request.project.name_with_namespace}
...@@ -5,5 +5,4 @@ ...@@ -5,5 +5,4 @@
- if milestone.description.present? - if milestone.description.present?
.description.term .description.term
= preserve do = search_md_sanitize(milestone, :description)
= search_md_sanitize(milestone, :description)
...@@ -22,5 +22,4 @@ ...@@ -22,5 +22,4 @@
.note-search-result .note-search-result
.term .term
= preserve do = search_md_sanitize(note, :note)
= search_md_sanitize(note, :note)
...@@ -4,8 +4,7 @@ ...@@ -4,8 +4,7 @@
= render "projects/services/#{@service.to_param}/help", subject: subject = render "projects/services/#{@service.to_param}/help", subject: subject
- elsif @service.help.present? - elsif @service.help.present?
.well .well
= preserve do = markdown @service.help
= markdown @service.help
.service-settings .service-settings
.form-group .form-group
......
...@@ -21,7 +21,7 @@ class Spinach::Features::ProjectCommits < Spinach::FeatureSteps ...@@ -21,7 +21,7 @@ class Spinach::Features::ProjectCommits < Spinach::FeatureSteps
expect(response_headers['Content-Type']).to have_content("application/atom+xml") expect(response_headers['Content-Type']).to have_content("application/atom+xml")
expect(body).to have_selector("title", text: "#{@project.name}:master commits") expect(body).to have_selector("title", text: "#{@project.name}:master commits")
expect(body).to have_selector("author email", text: commit.author_email) expect(body).to have_selector("author email", text: commit.author_email)
expect(body).to have_selector("entry summary", text: commit.description[0..10].delete("\r")) expect(body).to have_selector("entry summary", text: commit.description[0..10].delete("\r\n"))
end end
step 'I click on tag link' do step 'I click on tag link' do
......
...@@ -53,7 +53,7 @@ describe "User Feed", feature: true do ...@@ -53,7 +53,7 @@ describe "User Feed", feature: true do
end end
it 'has XHTML summaries in issue descriptions' do it 'has XHTML summaries in issue descriptions' do
expect(body).to match /we have a bug!<\/p>\n\n<hr ?\/>\n\n<p dir="auto">I guess/ expect(body).to match /<hr ?\/>/
end end
it 'has XHTML summaries in notes' do it 'has XHTML summaries in notes' do
......
...@@ -56,7 +56,7 @@ describe EventsHelper do ...@@ -56,7 +56,7 @@ describe EventsHelper do
it 'preserves code color scheme' do it 'preserves code color scheme' do
input = "```ruby\ndef test\n 'hello world'\nend\n```" input = "```ruby\ndef test\n 'hello world'\nend\n```"
expected = '<pre class="code highlight js-syntax-highlight ruby">' \ expected = "\n<pre class=\"code highlight js-syntax-highlight ruby\">" \
"<code><span class=\"line\"><span class=\"k\">def</span> <span class=\"nf\">test</span>...</span>\n" \ "<code><span class=\"line\"><span class=\"k\">def</span> <span class=\"nf\">test</span>...</span>\n" \
"</code></pre>" "</code></pre>"
expect(helper.event_note(input)).to eq(expected) expect(helper.event_note(input)).to eq(expected)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment