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
|
<!DOCTYPE html>
<html lang="en">
<head>
<title>Cydia Tweak</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" href="/CydiaIcon.png">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.5/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<style>
body {
background-color: #efeff4;
}
h1, h2 {
margin-left: 7px;
}
.badge-label {
border-radius:1em;
}
.panel, .alert {
border-radius: 0 !important;
}
.package-error {
display: none;
}
.latest-version {
vertical-align: middle;
}
</style>
</head>
<body>
<div class="container">
<div class="package row">
<div class="header">
<h1 class="package-name"></h1>
</div>
</div>
<div class="row alert alert-danger package-error"></div>
<div class="package-info row package-versions">
<h2>Changelogs</h2>
</div>
</div>
<script>
$(document).ready(function() {
var dPackage = getParameterByName("p");
if (!dPackage) {
$(".package-error").text("This package doesn't seem to exist!").css("display", "block");
$(".package-info").css("display", "none");
$(".package-name").text("Not Found");
return;
}
$.getJSON("/packages/" + dPackage + ".json", function(data) {
document.title = data.name + " by " + data.author;
$(".package-name").text(data.name);
var latest = data.version;
var versions = Object.keys(data.changelog).reverse();
for (var v in versions) {
var version = versions[v];
var panel = $("<div class=\"panel panel-default\"></div>");
panel.append("<div class=\"panel-heading\">" + version + "</div>");
panel.append("<div class=\"panel-body changelog-list\"></div>");
if (version === latest) {
panel.find(".panel-heading").append(" <div class=\"label label-primary badge-label latest-version\">LATEST</div>");
}
var changes = data.changelog[version];
for (var c in changes) {
var change = changes[c];
panel.find(".changelog-list").append("<li>" + change + "</li>");
}
$(".package-versions").append(panel);
}
})
.fail(function() {
$(".package-error").text("An error occurred while retrieving package info!").css("display", "block");
$(".package-info").css("display", "none");
$(".package-name").text("Repository Error");
return;
});
function getParameterByName(name) {
name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
results = regex.exec(location.search);
return results === null ? null : decodeURIComponent(results[1].replace(/\+/g, " "));
}
});
</script>
</body>
</html>
|