summaryrefslogtreecommitdiff
path: root/app/controllers/concerns/preview_orgmode.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/controllers/concerns/preview_orgmode.rb')
-rw-r--r--app/controllers/concerns/preview_orgmode.rb26
1 files changed, 26 insertions, 0 deletions
diff --git a/app/controllers/concerns/preview_orgmode.rb b/app/controllers/concerns/preview_orgmode.rb
new file mode 100644
index 00000000000..de7c22cf941
--- /dev/null
+++ b/app/controllers/concerns/preview_orgmode.rb
@@ -0,0 +1,26 @@
+# frozen_string_literal: true
+
+module PreviewOrgmode
+ extend ActiveSupport::Concern
+
+ def preview_orgmode
+ context = {
+ current_user: (current_user if defined?(current_user)),
+
+ # RelativeLinkFilter
+ project: project,
+ commit: @commit,
+ project_wiki: @project_wiki,
+ ref: @ref,
+ requested_path: @path
+ }
+
+ html = Gitlab::OtherMarkup.render('preview.org', params[:text], context)
+ html = Banzai.post_process(html, context)
+ html = Hamlit::RailsHelpers.preserve(html)
+
+ render json: {
+ body: html
+ }
+ end
+end