forked from metacpan/metacpan-web
/
release.html
103 lines (95 loc) · 4.59 KB
/
release.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
<% title = release.name _ ' - ' _ release.abstract; rss = 'distribution/' _ release.distribution %>
<strong><big><a rel="author" href="/author/<% release.author %>" title="<% author.asciiname %>"><% author.name %></a> / <% release.name %></big></strong>
<% INCLUDE inc/favorite.html module = release %>
<% IF release.status != 'latest' %><div style="float: right"><strong><big><% IF release.maturity == 'developer'; 'dev release, '; END %></big><a href="/release/<% release.distribution %>"><big>go to latest</big></a></strong></div><% END %><br><br>
<div class="search-bar">
<div>
<ul>
<li><strong class="relatize"><% release.date.dt_http %></strong></li>
<li><a href="<% release.download_url.replace('cpan\.cpantesters\.org', 'cpan.metacpan.org') %>">Download</a> (<% release.stat.size | format_bytes %>)</li>
<% IF changes %>
<li><a href="/source/<% release.author; '/'; release.name; '/'; changes %>"><% changes %></a></li>
<% END %>
<li><a href="/source/<% release.author %>/<% release.name %>/">Browse</a> (<a href="<% api %>/source/<% release.author %>/<% release.name %>/">raw</a>)</li>
<% PROCESS inc/release-info.html %>
</ul>
</div>
<hr>
<strong>Tools</strong>
<ul>
<li>
<select name="release" onchange="document.location.href='/diff/release/' + this.value + '<% release.author %>/<% release.name %>'">
<option>Diff with version</option>
<% PROCESS version_options %>
</select></li>
<li>Search distribution:<br>
<form action="/search">
<input type="hidden" name="q" value="dist:<% release.distribution %>">
<input type="text" name="q">
<input type="submit" style="display: none"></form></li>
<li><a href="/requires/module/<% release.distribution.replace('-', '::') %>">Reverse dependencies</a></li>
<li><a href="http://explorer.metacpan.org/?url=/release/<% release.author %>/<% release.name %>">MetaCPAN Explorer</a></li>
</ul>
<hr>
<% INCLUDE inc/activity.html query = 'distribution=' _ release.distribution %>
<hr>
<strong>Permalinks</strong>
<ul>
<li><a href="/release/<% release.author %>/<% release.name %>">This version</a></li>
<li><a href="/release/<% release.distribution %>">Latest version</a></li>
</ul>
</div>
<% INCLUDE inc/author-pic.html author = author %>
<% INCLUDE inc/dependencies.html dependencies = release.dependency %>
<div class="content">
<%
documentation = [];
documentation_raw = [];
provides = [];
modules = [];
FOREACH file IN files;
IF file.documentation && file.module;
modules.push({ status = file.status, title = file.documentation, path = file.path, abstract = file.abstract });
FOREACH module IN file.module;
IF module.name != file.documentation;
provides.push({ status = file.status, title = module.name, path = file.path });
END;
END;
ELSIF file.module;
FOREACH module IN file.module;
provides.push({ status = file.status, title = module.name, path = file.path });
END;
ELSIF file.documentation;
documentation.push({ status = file.status, title = file.documentation, path = file.path, abstract = file.abstract });
ELSE;
documentation_raw.push({ status = file.status, title = file.documentation, path = file.path, abstract = file.abstract });
END;
END;
documentation = documentation.merge(documentation_raw);
%>
<% IF modules.size %><strong>Modules</strong>
<% FOREACH module IN modules %>
<div>
<strong><a href="/module/<% IF release.status == 'latest'; module.title; ELSE; [release.author, release.name, module.path].join("/"); END %>"><% module.title %></a></strong><% IF module.abstract %> - <% module.abstract; END %>
</div>
<% END %>
<br><% END %>
<% IF documentation.size %><strong>Documentation</strong>
<% FOREACH module IN documentation %>
<div>
<strong><a href="/module/<% IF release.status == 'latest' && module.title; module.title; ELSE; [release.author, release.name, module.path].join("/"); END %>"><% module.title ? module.title : module.path %></a></strong><% IF module.abstract %> - <% module.abstract; END %>
</div>
<% END %>
<br><% END %>
<% IF provides.size %><strong>Provides</strong>
<% FOREACH module IN provides.sort('title') %>
<div>
<strong><a href="/source/<% release.author; '/'; release.name; '/'; module.path ; '#P'; module.title | uri %>"><% module.title %></a></strong> in <% module.path %>
</div>
<% END %>
<br><% END %>
<% IF root.size %><strong>Other files</strong>
<% FOREACH filename IN root %>
<div><strong><a href="/source/<% release.author; '/'; release.name; '/'; filename %>"><% filename %></a></strong></div>
<% END; END %>
</div>