summaryrefslogtreecommitdiff
path: root/app/views/refs/_tree_file.html.haml
blob: b5ed61bb45a282a1dbfc041e29442da0d2659f60 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
.file_holder
  .file_title
    %i.icon-file
    %span.file_name
      = name
      %small #{file.mode}
    %span.options
      = link_to "raw", blob_project_ref_path(@project, @ref, path: params[:path]), class: "btn very_small", target: "_blank"
      = link_to "history", project_commits_path(@project, path: params[:path], ref: @ref), class: "btn very_small"
      = link_to "blame", blame_file_project_ref_path(@project, @ref, path: params[:path]), class: "btn very_small"
  - if file.text?
    - if name =~ /\.(md|markdown)$/i
      .file_content.wiki
        = preserve do
          = markdown(file.data)
    - else
      .file_content.code
        - unless file.empty?
          %div{class: current_user.dark_scheme ? "black" : "white"}
            = preserve do
              = raw file.colorize(options: { linenos: 'True'})
        - else
          %h4.nothing_here_message Empty file

  - elsif file.image?
    .file_content.image_file
      %img{ src: "data:#{file.mime_type};base64,#{Base64.encode64(file.data)}"}

  - else
    .file_content.blob_file
      %center
        = link_to blob_project_ref_path(@project, @ref, path: params[:path]) do
          %div.padded
            %br
            = image_tag "download.png", width: 64
            %h3
              Download (#{file.mb_size})