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 }
|
2018-11-08 19:23:39 +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
|