debian-mirror-gitlab/app/controllers/concerns/preview_markdown.rb

31 lines
927 B
Ruby
Raw Normal View History

2018-12-05 23:21:45 +05:30
# frozen_string_literal: true
2018-03-17 18:26:18 +05:30
module PreviewMarkdown
extend ActiveSupport::Concern
# rubocop:disable Gitlab/ModuleWithInstanceVariables
def preview_markdown
result = PreviewMarkdownService.new(@project, current_user, params).execute
markdown_params =
case controller_name
when 'wikis' then { pipeline: :wiki, project_wiki: @project_wiki, page_slug: params[:id] }
when 'snippets' then { skip_project_check: true }
when 'groups' then { group: group }
2019-01-03 12:48:30 +05:30
when 'projects' then { issuable_state_filter_enabled: true }
2018-03-17 18:26:18 +05:30
else {}
end
2018-11-08 19:23:39 +05:30
markdown_params[:markdown_engine] = result[:markdown_engine]
2018-03-17 18:26:18 +05:30
render json: {
body: view_context.markdown(result[:text], markdown_params),
references: {
users: result[:users],
commands: view_context.markdown(result[:commands])
}
}
end
# rubocop:enable Gitlab/ModuleWithInstanceVariables
end