diff options
author | Francisco Javier López <fjlopez@gitlab.com> | 2018-09-03 13:54:06 +0300 |
---|---|---|
committer | Sean McGivern <sean@mcgivern.me.uk> | 2018-09-03 13:54:06 +0300 |
commit | 0df18ca9e61a79523aac056078b79924843d0e72 (patch) | |
tree | d3e62ad62b16f84eb0d3aab290c048b19437543c /app/views | |
parent | 990278bed9daf6ba78ab2ede2cebb118954ea952 (diff) |
Added atom feed for tags
Diffstat (limited to 'app/views')
-rw-r--r-- | app/views/projects/tags/_tag.atom.builder | 19 | ||||
-rw-r--r-- | app/views/projects/tags/index.atom.builder | 7 | ||||
-rw-r--r-- | app/views/projects/tags/index.html.haml | 4 |
3 files changed, 30 insertions, 0 deletions
diff --git a/app/views/projects/tags/_tag.atom.builder b/app/views/projects/tags/_tag.atom.builder new file mode 100644 index 00000000000..60d4b21b9d1 --- /dev/null +++ b/app/views/projects/tags/_tag.atom.builder @@ -0,0 +1,19 @@ +commit = @repository.commit(tag.dereferenced_target) +release = @releases.find { |r| r.tag == tag.name } +tag_url = project_tag_url(@project, tag.name) + +if commit + xml.entry do + xml.id tag_url + xml.link href: tag_url + xml.title truncate(tag.name, length: 80) + xml.summary strip_gpg_signature(tag.message) + xml.content markdown_field(release, :description), type: 'html' + xml.updated release.updated_at.xmlschema if release + xml.media :thumbnail, width: '40', height: '40', url: image_url(avatar_icon_for_email(commit.author_email)) + xml.author do |author| + xml.name commit.author_name + xml.email commit.author_email + end + end +end diff --git a/app/views/projects/tags/index.atom.builder b/app/views/projects/tags/index.atom.builder new file mode 100644 index 00000000000..b9b58b7beaa --- /dev/null +++ b/app/views/projects/tags/index.atom.builder @@ -0,0 +1,7 @@ +xml.title "#{@project.name} tags" +xml.link href: project_tags_url(@project, @ref, rss_url_options), rel: 'self', type: 'application/atom+xml' +xml.link href: project_tags_url(@project, @ref), rel: 'alternate', type: 'text/html' +xml.id project_tags_url(@project, @ref) +xml.updated @releases.first.updated_at.xmlschema if @releases.any? + +xml << render(partial: 'tag', collection: @tags) if @tags.any? diff --git a/app/views/projects/tags/index.html.haml b/app/views/projects/tags/index.html.haml index dab95ba09f2..20b4705521c 100644 --- a/app/views/projects/tags/index.html.haml +++ b/app/views/projects/tags/index.html.haml @@ -1,6 +1,8 @@ - @no_container = true - @sort ||= sort_value_recently_updated - page_title s_('TagsPage|Tags') += content_for :meta_tags do + = auto_discovery_link_tag(:atom, project_tags_url(@project, rss_url_options), title: "#{@project.name} tags") .flex-list{ class: container_class } .top-area.adjust @@ -25,6 +27,8 @@ - if can?(current_user, :push_code, @project) = link_to new_project_tag_path(@project), class: 'btn btn-create new-tag-btn' do = s_('TagsPage|New tag') + = link_to project_tags_path(@project, rss_url_options), title: _("Tags feed"), class: 'btn rss-btn has-tooltip' do + = icon("rss") = render_if_exists 'projects/commits/mirror_status' |