Commit 90f587f4ee854fe14f0f7efcf012dfc1a0666dcd

Authored by Robert Speicher
1 parent 880a233e

Move the entire `gfm` method to Gitlab::Markdown, which will be a module now

Showing 1 changed file with 1 additions and 34 deletions   Show diff stats
app/helpers/gitlab_markdown_helper.rb
1 1 module GitlabMarkdownHelper
2   - # Replaces references (i.e. @abc, #123, !456, ...) in the text with links to
3   - # the appropriate items in Gitlab.
4   - #
5   - # text - the source text
6   - # html_options - extra options for the reference links as given to link_to
7   - #
8   - # note: reference links will only be generated if @project is set
9   - #
10   - # see Gitlab::Markdown for details on the supported syntax
11   - def gfm(text, html_options = {})
12   - return text if text.nil?
13   - return text if @project.nil?
14   -
15   - # Extract pre blocks so they are not altered
16   - # from http://github.github.com/github-flavored-markdown/
17   - extractions = {}
18   - text.gsub!(%r{<pre>.*?</pre>|<code>.*?</code>}m) do |match|
19   - md5 = Digest::MD5.hexdigest(match)
20   - extractions[md5] = match
21   - "{gfm-extraction-#{md5}}"
22   - end
23   -
24   - # TODO: add popups with additional information
25   -
26   - parser = Gitlab::Markdown.new(@project, html_options)
27   - text = parser.parse(text)
28   -
29   - # Insert pre block extractions
30   - text.gsub!(/\{gfm-extraction-(\h{32})\}/) do
31   - extractions[$1]
32   - end
33   -
34   - sanitize text.html_safe, attributes: ActionView::Base.sanitized_allowed_attributes + %w(id class )
35   - end
  2 + include Gitlab::Markdown
36 3  
37 4 # Use this in places where you would normally use link_to(gfm(...), ...).
38 5 #
... ...