summaryrefslogtreecommitdiff
path: root/app/models
diff options
context:
space:
mode:
authorBrett Walker <bwalker@gitlab.com>2018-07-06 18:49:33 +0000
committerSean McGivern <sean@mcgivern.me.uk>2018-07-06 18:49:33 +0000
commit750af9fd32a050d1d2a8a7c5d014e5467de1e87a (patch)
tree51e5a6d23d6a34541de358c29cb552449c959ed3 /app/models
parent9790fe58e590856e920877a935bfd22942787525 (diff)
downloadgitlab-ce-750af9fd32a050d1d2a8a7c5d014e5467de1e87a.tar.gz
Use proper markdown rendering for previews
Diffstat (limited to 'app/models')
-rw-r--r--app/models/concerns/cache_markdown_field.rb22
-rw-r--r--app/models/repository.rb2
2 files changed, 14 insertions, 10 deletions
diff --git a/app/models/concerns/cache_markdown_field.rb b/app/models/concerns/cache_markdown_field.rb
index 9f6358cecbe..b05bf909058 100644
--- a/app/models/concerns/cache_markdown_field.rb
+++ b/app/models/concerns/cache_markdown_field.rb
@@ -40,6 +40,18 @@ module CacheMarkdownField
end
end
+ class MarkdownEngine
+ def self.from_version(version = nil)
+ return :common_mark if version.nil? || version == 0
+
+ if version < CacheMarkdownField::CACHE_COMMONMARK_VERSION_START
+ :redcarpet
+ else
+ :common_mark
+ end
+ end
+ end
+
def skip_project_check?
false
end
@@ -57,7 +69,7 @@ module CacheMarkdownField
# Banzai is less strict about authors, so don't always have an author key
context[:author] = self.author if self.respond_to?(:author)
- context[:markdown_engine] = markdown_engine
+ context[:markdown_engine] = MarkdownEngine.from_version(latest_cached_markdown_version)
context
end
@@ -123,14 +135,6 @@ module CacheMarkdownField
end
end
- def markdown_engine
- if latest_cached_markdown_version < CacheMarkdownField::CACHE_COMMONMARK_VERSION_START
- :redcarpet
- else
- :common_mark
- end
- end
-
included do
cattr_reader :cached_markdown_fields do
FieldData.new
diff --git a/app/models/repository.rb b/app/models/repository.rb
index 22a4b73b4b0..7cd600fec5b 100644
--- a/app/models/repository.rb
+++ b/app/models/repository.rb
@@ -564,7 +564,7 @@ class Repository
end
def rendered_readme
- MarkupHelper.markup_unsafe(readme.name, readme.data, project: project) if readme
+ MarkupHelper.markup_unsafe(readme.name, readme.data, project: project, markdown_engine: :redcarpet) if readme
end
cache_method :rendered_readme