Welcome to mirror list, hosted at ThFree Co, Russian Federation.

file_markdown_link_builder.rb « gitlab « lib - gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 09d799b859d97bdb0a2bfe92b75d99e3bbd4df28 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# frozen_string_literal: true

# Builds the markdown link of a file
# It needs the methods filename and secure_url (final destination url) to be defined.
module Gitlab
  module FileMarkdownLinkBuilder
    include FileTypeDetection

    def markdown_link
      return unless name = markdown_name

      markdown = "[#{name.gsub(']', '\\]')}](#{secure_url})"
      markdown = "!#{markdown}" if embeddable? || dangerous_embeddable?
      markdown
    end

    def markdown_name
      return unless filename.present?

      embeddable? ? File.basename(filename, File.extname(filename)) : filename
    end
  end
end