%li.timeline-entry{ id: dom_id(note), class: [dom_class(note), "note-row-#{note.id}", ('system-note' if note.system)], data: { discussion: note.discussion_id } } .timeline-entry-inner .timeline-icon - if note.system %span.fa.fa-circle - else = link_to user_path(note.author) do = image_tag avatar_icon(note.author_email), class: "avatar s40", alt: '' .timeline-content .note-header .note-actions = link_to "##{dom_id(note)}", name: dom_id(note) do %i.fa.fa-link Link here   - if can?(current_user, :admin_note, note) && note.editable? = link_to "#", title: "Edit comment", class: "js-note-edit" do %i.fa.fa-pencil-square-o Edit   = link_to namespace_project_note_path(@project.namespace, @project, note), title: "Remove comment", method: :delete, data: { confirm: 'Are you sure you want to remove this comment?' }, remote: true, class: "danger js-note-delete" do %i.fa.fa-trash-o.cred Remove - if note.system = link_to user_path(note.author) do = image_tag avatar_icon(note.author_email), class: "avatar s16", alt: '' = link_to_member(@project, note.author, avatar: false) %span.author-username = '@' + note.author.username %span.note-last-update = note_timestamp(note) - if note.superceded?(@notes) - if note.upvote? %span.vote.upvote.label.label-gray.strikethrough %i.fa.fa-thumbs-up \+1 - if note.downvote? %span.vote.downvote.label.label-gray.strikethrough %i.fa.fa-thumbs-down \-1 - else - if note.upvote? %span.vote.upvote.label.label-success %i.fa.fa-thumbs-up \+1 - if note.downvote? %span.vote.downvote.label.label-danger %i.fa.fa-thumbs-down \-1 .note-body .note-text = preserve do = markdown(note.note, {no_header_anchors: true}) = render 'projects/notes/edit_form', note: note - if note.attachment.url .note-attachment - if note.attachment.image? = link_to note.attachment.url, target: '_blank' do = image_tag note.attachment.url, class: 'note-image-attach' .attachment = link_to note.attachment.url, target: "_blank" do %i.fa.fa-paperclip = note.attachment_identifier = link_to delete_attachment_namespace_project_note_path(@project.namespace, @project, note), title: "Delete this attachment", method: :delete, remote: true, data: { confirm: 'Are you sure you want to remove the attachment?' }, class: "danger js-note-attachment-delete" do %i.fa.fa-trash-o.cred .clear