_blob.html.haml 1.43 KB
.file_holder
  .file_title
    %i.icon-file
    %span.file_name
      = blob.name.force_encoding('utf-8')
      %small #{blob.mode}
    %span.options
      .btn-group.tree-btn-group
        = link_to "raw", project_blob_path(@project, @id), class: "btn very_small", target: "_blank"
        = link_to "history", project_commits_path(@project, @id), class: "btn very_small"
        = link_to "blame", project_blame_path(@project, @id), class: "btn very_small"
        = link_to "edit", edit_project_tree_path(@project, @id), class: "btn very_small"
  - if blob.text?
    - if gitlab_markdown?(blob.name)
      .file_content.wiki
        = preserve do
          = markdown(blob.data)
    - elsif markup?(blob.name)
      .file_content.wiki
        = raw GitHub::Markup.render(blob.name, blob.data)
    - else
      .file_content.code
        - unless blob.empty?
          %div{class: current_user.dark_scheme ? "black" : "white"}
            = preserve do
              = raw blob.colorize(options: { linenos: 'True'})
        - else
          %h4.nothing_here_message Empty file

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

  - else
    .file_content.blob_file
      %center
        = link_to project_blob_path(@project, @id) do
          %div.padded
            %br
            = image_tag "download.png", width: 64
            %h3
              Download (#{blob.mb_size})