_tree_file.html.haml 1.3 KB
.view_file
  .view_file_header
    %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
      #tree-readme-holder
        .readme
          = preserve do
            = markdown(file.data.detect_encoding!)
    - else
      .view_file_content
        - unless file.empty?
          %div{:class => current_user.dark_scheme ? "black" : "white"}
            = preserve do
              = raw file.colorize(options: { linenos: 'True'})
        - else
          %h3
            %center Empty file
  - elsif file.image?
    .view_file_content_image
      %img{ :src => "data:#{file.mime_type};base64,#{Base64.encode64(file.data)}"}
  - else
    %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})