diff --git a/app/views/tree/_blob.html.haml b/app/views/tree/_blob.html.haml index 93271d94..b6913586 100644 --- a/app/views/tree/_blob.html.haml +++ b/app/views/tree/_blob.html.haml @@ -6,32 +6,8 @@ %small #{blob.mode} %span.options= render "tree/blob_actions" - 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 - + = render "tree/blob/text", blob: blob - elsif blob.image? - .file_content.image_file - %img{ src: "data:#{blob.mime_type};base64,#{Base64.encode64(blob.data)}"} - + = render "tree/blob/image", blob: blob - 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}) + = render "tree/blob/download", blob: blob diff --git a/app/views/tree/blob/_download.html.haml b/app/views/tree/blob/_download.html.haml new file mode 100644 index 00000000..7623e6f4 --- /dev/null +++ b/app/views/tree/blob/_download.html.haml @@ -0,0 +1,8 @@ +.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}) diff --git a/app/views/tree/blob/_image.html.haml b/app/views/tree/blob/_image.html.haml new file mode 100644 index 00000000..7b23f0c8 --- /dev/null +++ b/app/views/tree/blob/_image.html.haml @@ -0,0 +1,2 @@ +.file_content.image_file + %img{ src: "data:#{blob.mime_type};base64,#{Base64.encode64(blob.data)}"} diff --git a/app/views/tree/blob/_text.html.haml b/app/views/tree/blob/_text.html.haml new file mode 100644 index 00000000..c506a39f --- /dev/null +++ b/app/views/tree/blob/_text.html.haml @@ -0,0 +1,15 @@ +- 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