lenary-ginatra 2.0.2
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitattributes +2 -0
- data/.gitignore +13 -0
- data/.gitmodules +3 -0
- data/README.md +127 -0
- data/Rakefile +86 -0
- data/TODO.md +10 -0
- data/VERSION +1 -0
- data/bin/ginatra +60 -0
- data/bin/ginatra-daemon +81 -0
- data/bin/ginatra-directory +60 -0
- data/bin/ginatra-server +28 -0
- data/config.ru +7 -0
- data/features/pages.feature +33 -0
- data/features/step_definitions/page_steps.rb +36 -0
- data/features/support/env.rb +12 -0
- data/ginatra.gemspec +120 -0
- data/lib/ginatra.rb +185 -0
- data/lib/ginatra/config.rb +55 -0
- data/lib/ginatra/helpers.rb +112 -0
- data/lib/ginatra/repo.rb +50 -0
- data/lib/ginatra/repo_list.rb +53 -0
- data/lib/sinatra/partials.rb +17 -0
- data/public/favicon.ico +0 -0
- data/rackup.ru +7 -0
- data/repos/README.md +8 -0
- data/spec/repo_list_spec.rb +22 -0
- data/spec/repo_spec.rb +58 -0
- data/spec/spec_helper.rb +30 -0
- data/vendor/vegas/History.txt +18 -0
- data/vendor/vegas/LICENSE +22 -0
- data/vendor/vegas/Manifest.txt +5 -0
- data/vendor/vegas/README.rdoc +45 -0
- data/vendor/vegas/Rakefile +32 -0
- data/vendor/vegas/lib/vegas.rb +16 -0
- data/vendor/vegas/lib/vegas/runner.rb +270 -0
- data/vendor/vegas/test/test_app/bin/test_app +9 -0
- data/vendor/vegas/test/test_app/test_app.rb +10 -0
- data/vendor/vegas/test/test_apps.rb +22 -0
- data/vendor/vegas/test/test_helper.rb +59 -0
- data/vendor/vegas/test/test_vegas_runner.rb +8 -0
- data/vendor/vegas/vegas.gemspec +45 -0
- data/views/_actor_box.erb +13 -0
- data/views/_commit_info_box.erb +27 -0
- data/views/_header.erb +6 -0
- data/views/_tree_part.erb +11 -0
- data/views/atom.builder +32 -0
- data/views/blob.erb +9 -0
- data/views/commit.erb +20 -0
- data/views/index.erb +12 -0
- data/views/layout.erb +35 -0
- data/views/log.erb +64 -0
- data/views/tree.erb +24 -0
- metadata +158 -0
@@ -0,0 +1,13 @@
|
|
1
|
+
<div class='commit-<%= role.to_s %>'>
|
2
|
+
<img src='<%= gravatar_url(actor.email) %>' />
|
3
|
+
<table cellpadding=0>
|
4
|
+
<tr>
|
5
|
+
<td>
|
6
|
+
<%= actor.name %> <span class='quiet'>(<%= role.to_s %>)</span>
|
7
|
+
</td>
|
8
|
+
</tr>
|
9
|
+
<tr>
|
10
|
+
<td><%= nicetime(date) %></td>
|
11
|
+
</tr>
|
12
|
+
</table>
|
13
|
+
</div>
|
@@ -0,0 +1,27 @@
|
|
1
|
+
<div id='commit-info'>
|
2
|
+
<div class='right'>
|
3
|
+
<dl>
|
4
|
+
<dt>commit:</dt>
|
5
|
+
<dd>
|
6
|
+
<a href='/<%= repo.param %>/commit/<%= commit.id_abbrev %>'>
|
7
|
+
<code><%= commit.id %></code>
|
8
|
+
</a>
|
9
|
+
</dd><br>
|
10
|
+
|
11
|
+
<dt>tree:</dt>
|
12
|
+
<dd>
|
13
|
+
<a href='/<%= repo.param %>/tree/<%= commit.tree.id[0..7] %>'>
|
14
|
+
<code><%= commit.tree.id %></code>
|
15
|
+
</a>
|
16
|
+
</dd><br>
|
17
|
+
<% commit.parents.each do |parent| %>
|
18
|
+
<dt>parent:</dt>
|
19
|
+
<dd>
|
20
|
+
<a href='/<%= repo.param %>/commit/<%= parent.id_abbrev %>'>
|
21
|
+
<code><%= parent.id %></code>
|
22
|
+
</a>
|
23
|
+
</dd>
|
24
|
+
<% end %>
|
25
|
+
</dl>
|
26
|
+
</div>
|
27
|
+
</div>
|
data/views/_header.erb
ADDED
@@ -0,0 +1,11 @@
|
|
1
|
+
<li class="tree"><a href="<%= path[:tree] %><%= tree_path %>"><%= current_tree.basename %></a>
|
2
|
+
<ul>
|
3
|
+
<% current_tree.trees.each do |next_tree| %>
|
4
|
+
<% new_path = tree_path + "/#{next_tree.name}"%>
|
5
|
+
<%= partial(:tree_part, :locals => {:current_tree => next_tree, :tree_path => new_path, :path => path }) %>
|
6
|
+
<% end %>
|
7
|
+
<% current_tree.blobs.each do |next_blob| %>
|
8
|
+
<li class="blob"><a href="<%= path[:blob] %><%= tree_path %>/<%= next_blob.basename %>"><%= next_blob.basename %></a></li>
|
9
|
+
<% end %>
|
10
|
+
</ul>
|
11
|
+
</li>
|
data/views/atom.builder
ADDED
@@ -0,0 +1,32 @@
|
|
1
|
+
xml.instruct! :xml, :version => '1.0', :encoding => 'utf-8'
|
2
|
+
xml.feed :'xml:lang' => 'en-US', :xmlns => 'http://www.w3.org/2005/Atom' do
|
3
|
+
base_title = "#{@repo.name}: "
|
4
|
+
base_url = "http://#{hostname}/#{@repo.param}"
|
5
|
+
if params[:ref]
|
6
|
+
url = base_url + "/#{params[:ref]}"
|
7
|
+
title = base_title + params[:ref]
|
8
|
+
else
|
9
|
+
url = base_url
|
10
|
+
title = base_title + "master"
|
11
|
+
end
|
12
|
+
xml.id url
|
13
|
+
xml.link :type => 'text/html', :href => url, :rel => 'alternate'
|
14
|
+
xml.link :type => 'application/atom+xml', :href => "#{url}.atom", :rel => 'self'
|
15
|
+
xml.title title
|
16
|
+
xml.subtitle "#{h(@repo.description)}"
|
17
|
+
xml.updated(@commits.first ? rfc_date(@commits.first.committed_date) : rfc_date(Time.now.utc))
|
18
|
+
@commits.each do |commit|
|
19
|
+
xml.entry do |entry|
|
20
|
+
entry.id "#{base_url}/commit/#{commit.id_abbrev}"
|
21
|
+
entry.link :type => 'text/html', :href => "#{base_url}/commit/#{commit.id_abbrev}", :rel => 'alternate'
|
22
|
+
entry.updated rfc_date(commit.committed_date)
|
23
|
+
entry.title "Commit #{commit.id_abbrev} to #{@repo.name}"
|
24
|
+
entry.summary h(commit.short_message)
|
25
|
+
entry.content h(commit.message)
|
26
|
+
entry.author do |author|
|
27
|
+
author.name commit.author.name
|
28
|
+
author.email commit.author.email
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
data/views/blob.erb
ADDED
@@ -0,0 +1,9 @@
|
|
1
|
+
<%= partial(:header, :locals => {:repo => @repo}) %>
|
2
|
+
<h3>Blob: <%= params[:splat].first %></h3>
|
3
|
+
<div class="active">
|
4
|
+
<div class="blob">
|
5
|
+
<h4><img src="/img/doc.png" /><%= @blob.name %></h4>
|
6
|
+
<%= CodeRay.scan(@blob.data, @highlighter).div(:line_numbers => :table, :css => :class) %>
|
7
|
+
</div>
|
8
|
+
<div class="clearfix"> </div>
|
9
|
+
</div>
|
data/views/commit.erb
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
<%= partial(:header, :locals => {:repo => @repo}) %>
|
2
|
+
<h3>Commit: <%= @commit.id %><%= commit_refs(@commit, @repo.param) %> <%= patch_link(@commit, @repo.param) %></h3>
|
3
|
+
<div class="active">
|
4
|
+
<div class='single-commit' id='commit'>
|
5
|
+
<%= partial(:commit_info_box,
|
6
|
+
:locals => { :repo => @repo,
|
7
|
+
:commit => @commit }) %>
|
8
|
+
<%= actor_boxes @commit %>
|
9
|
+
<div id="message"><%= simple_format(h(@commit.message)) %></div>
|
10
|
+
<%= file_listing(@commit) %>
|
11
|
+
<div id="files">
|
12
|
+
<% count = 0 %>
|
13
|
+
<% @commit.diffs.select { |d| !d.deleted_file && !d.new_file }.each do |diff| %>
|
14
|
+
<% count += 1 %>
|
15
|
+
<h4><img src="/img/doc.png" /><a name='file_<%= count %>'><code><%= diff.b_path %></code></a></h4>
|
16
|
+
<div class="diff"><%= diff((diff.diff)) %></div>
|
17
|
+
<% end %>
|
18
|
+
</div>
|
19
|
+
</div>
|
20
|
+
</div>
|
data/views/index.erb
ADDED
@@ -0,0 +1,12 @@
|
|
1
|
+
<h3>Repositories</h3>
|
2
|
+
<div class="active repo-list">
|
3
|
+
<div class="commit-info">
|
4
|
+
<%=h Ginatra::Config.description %>
|
5
|
+
</div>
|
6
|
+
<dl>
|
7
|
+
<% Ginatra::RepoList.list.each do |repo| %>
|
8
|
+
<dt><a href="/<%= repo.param %>"><%= repo.name %></a></dt>
|
9
|
+
<dd><%=h repo.description %></dd>
|
10
|
+
<% end %>
|
11
|
+
</dl>
|
12
|
+
</div>
|
data/views/layout.erb
ADDED
@@ -0,0 +1,35 @@
|
|
1
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
2
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
3
|
+
<html>
|
4
|
+
<head>
|
5
|
+
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
6
|
+
<title>Ginatra</title>
|
7
|
+
<link rel="stylesheet" href="/src/index.css" type="text/css" media="screen" />
|
8
|
+
<link rel="stylesheet" href="/src/default.css" type="text/css" media="screen" />
|
9
|
+
|
10
|
+
<script type="text/javascript" src="/src/highlight.pack.js"></script>
|
11
|
+
<script type="text/javascript">
|
12
|
+
hljs.initHighlightingOnLoad();
|
13
|
+
</script>
|
14
|
+
<script src="/src/jquery-1.3.2.min.js" type="text/javascript"></script>
|
15
|
+
<script src="/src/ginatra.js" type="text/javascript"></script>
|
16
|
+
<!--[if lt IE 8]>
|
17
|
+
<script src="http://ie7-js.googlecode.com/svn/version/2.0(beta3)/IE8.js" type="text/javascript"></script>
|
18
|
+
<style type="text/css" media="screen">
|
19
|
+
* { behavior: url("/src/iepngfix.htc") }
|
20
|
+
</style>
|
21
|
+
<![endif]-->
|
22
|
+
</head>
|
23
|
+
<body>
|
24
|
+
<div id="content">
|
25
|
+
<div id="inner">
|
26
|
+
<h1><a href="/">Ginatra</a></h1>
|
27
|
+
<%= yield %>
|
28
|
+
</div>
|
29
|
+
<div id="footer-spacer"> </div>
|
30
|
+
</div>
|
31
|
+
<div id="footer">
|
32
|
+
Ginatra — © 2009 Samuel Elliott — <a href="http://www.opensource.org/licenses/mit-license.php">MIT Licence</a>
|
33
|
+
</div>
|
34
|
+
</body>
|
35
|
+
</html>
|
data/views/log.erb
ADDED
@@ -0,0 +1,64 @@
|
|
1
|
+
<%= partial(:header, :locals => {:repo => @repo}) %>
|
2
|
+
<h3>Commits<% if params[:ref] %>: <%= params[:ref] %><% end %> <%= atom_feed_link(@repo.param, params[:ref]) %></h3>
|
3
|
+
<div class="active">
|
4
|
+
<% if @previous_commits %>
|
5
|
+
<a href='/<%= params[:repo] %>/<%= params[:ref] %>/<%= params[:page] - 1 %>'>Previous</a>
|
6
|
+
<% end %>
|
7
|
+
|
8
|
+
<% if @separator %>
|
9
|
+
|
|
10
|
+
<% end %>
|
11
|
+
|
12
|
+
<% if @next_commits %>
|
13
|
+
<a href='/<%= params[:repo] %>/<%= params[:ref] %>/<%= params[:page] + 1 %>'>Next</a>
|
14
|
+
<% end %>
|
15
|
+
<div class='list'>
|
16
|
+
<div id='heads'>
|
17
|
+
<h3>Heads</h3>
|
18
|
+
<ul>
|
19
|
+
<% @repo.heads.each do |head| %>
|
20
|
+
<li>
|
21
|
+
<a href="/<%=h @repo.param %>/<%=h head.name %>">
|
22
|
+
<%=h head.name %>
|
23
|
+
</a>
|
24
|
+
</li>
|
25
|
+
<% end %>
|
26
|
+
</ul>
|
27
|
+
</div>
|
28
|
+
|
29
|
+
<div id='tags'>
|
30
|
+
<h3>Tags</h3>
|
31
|
+
<% unless @repo.tags.empty? %>
|
32
|
+
<ul>
|
33
|
+
<% @repo.tags.each do |tag| %>
|
34
|
+
<li>
|
35
|
+
<a href="/<%=h @repo.param %>/commit/<%=h tag.name %>">
|
36
|
+
<%=h tag.name %>
|
37
|
+
</a>
|
38
|
+
</li>
|
39
|
+
<% end %>
|
40
|
+
</ul>
|
41
|
+
<% else %>
|
42
|
+
<p>No tags</p>
|
43
|
+
<% end %>
|
44
|
+
</div>
|
45
|
+
</div>
|
46
|
+
<div id='commit-log'>
|
47
|
+
<% @commits.each do |commit| %>
|
48
|
+
<% url = "/#{@repo.param}/commit/#{commit.id_abbrev}" %>
|
49
|
+
<div id='commit_<%= commit.id_abbrev %>' class='commit' onclick="location.href='<%= url %>'">
|
50
|
+
<div class='right'>
|
51
|
+
<span class='id'>
|
52
|
+
<code><a href="<%= url %>"><%= commit.id %></a></code>
|
53
|
+
</span>
|
54
|
+
<span class='refs'><%= commit_refs(commit, @repo.param) %></span>
|
55
|
+
</div>
|
56
|
+
<span class='date'><%= nicetime(commit.committed_date) %></span><br>
|
57
|
+
|
58
|
+
<span class='message'><%= truncate(h(commit.short_message), { :length => 140, :separator => ' '}) %></span><br>
|
59
|
+
<span class='author'><%= commit.author.name %> <small>(author)</small></span>
|
60
|
+
</div>
|
61
|
+
<% end %>
|
62
|
+
</div>
|
63
|
+
<div class="clearfix"> </div>
|
64
|
+
</div>
|
data/views/tree.erb
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
<%= partial(:header, :locals => {:repo => @repo}) %>
|
2
|
+
<h3>Tree: <%= @tree.id %> <%= archive_link @tree, @repo.param %></h3>
|
3
|
+
<div class="active">
|
4
|
+
<ul class="commit-tree">
|
5
|
+
<% @tree.trees.each do |tree| %>
|
6
|
+
<% tree_path = "/#{tree.name}"%>
|
7
|
+
<li class="tree"><a href="<%= @path[:tree] %><%= tree_path %>"><%= tree.basename %></a>
|
8
|
+
<ul>
|
9
|
+
<% tree.trees.each do |next_tree| %>
|
10
|
+
<% new_path = tree_path + "/#{next_tree.name}" %>
|
11
|
+
<%= partial(:tree_part, :locals => {:current_tree => next_tree, :tree_path => new_path, :path => @path }) %>
|
12
|
+
<% end %>
|
13
|
+
<% tree.blobs.each do |next_blob| %>
|
14
|
+
<li class="blob"><a href="<%= @path[:blob] %><%= tree_path %>/<%= next_blob.basename %>"><%= next_blob.basename %></a></li>
|
15
|
+
<% end %>
|
16
|
+
</ul>
|
17
|
+
</li>
|
18
|
+
<% end %>
|
19
|
+
<% @tree.blobs.each do |blob| %>
|
20
|
+
<li class="blob"><a href="<%= @path[:blob] %>/<%= blob.basename %>"><%= blob.basename %></a></li>
|
21
|
+
<% end %>
|
22
|
+
</ul>
|
23
|
+
<div class="clearfix"> </div>
|
24
|
+
</div>
|
metadata
ADDED
@@ -0,0 +1,158 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: lenary-ginatra
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 2.0.2
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Sam Elliott
|
8
|
+
- Ryan Bigg
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
|
13
|
+
date: 2009-08-26 00:00:00 -07:00
|
14
|
+
default_executable:
|
15
|
+
dependencies:
|
16
|
+
- !ruby/object:Gem::Dependency
|
17
|
+
name: sinatra
|
18
|
+
type: :runtime
|
19
|
+
version_requirement:
|
20
|
+
version_requirements: !ruby/object:Gem::Requirement
|
21
|
+
requirements:
|
22
|
+
- - ">="
|
23
|
+
- !ruby/object:Gem::Version
|
24
|
+
version: 0.9.4
|
25
|
+
version:
|
26
|
+
- !ruby/object:Gem::Dependency
|
27
|
+
name: grit
|
28
|
+
type: :runtime
|
29
|
+
version_requirement:
|
30
|
+
version_requirements: !ruby/object:Gem::Requirement
|
31
|
+
requirements:
|
32
|
+
- - ">="
|
33
|
+
- !ruby/object:Gem::Version
|
34
|
+
version: 1.1.1
|
35
|
+
version:
|
36
|
+
- !ruby/object:Gem::Dependency
|
37
|
+
name: coderay
|
38
|
+
type: :runtime
|
39
|
+
version_requirement:
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
requirements:
|
42
|
+
- - ">="
|
43
|
+
- !ruby/object:Gem::Version
|
44
|
+
version: 0.8.0
|
45
|
+
version:
|
46
|
+
description: Host your own git repository browser through the power of Sinatra and Grit
|
47
|
+
email: sam@lenary.co.uk
|
48
|
+
executables:
|
49
|
+
- ginatra
|
50
|
+
- ginatra-daemon
|
51
|
+
- ginatra-directory
|
52
|
+
- ginatra-server
|
53
|
+
extensions: []
|
54
|
+
|
55
|
+
extra_rdoc_files:
|
56
|
+
- README.md
|
57
|
+
files:
|
58
|
+
- .gitattributes
|
59
|
+
- .gitignore
|
60
|
+
- .gitmodules
|
61
|
+
- README.md
|
62
|
+
- Rakefile
|
63
|
+
- TODO.md
|
64
|
+
- VERSION
|
65
|
+
- bin/ginatra
|
66
|
+
- bin/ginatra-daemon
|
67
|
+
- bin/ginatra-directory
|
68
|
+
- bin/ginatra-server
|
69
|
+
- config.ru
|
70
|
+
- features/pages.feature
|
71
|
+
- features/step_definitions/page_steps.rb
|
72
|
+
- features/support/env.rb
|
73
|
+
- ginatra.gemspec
|
74
|
+
- lib/ginatra.rb
|
75
|
+
- lib/ginatra/config.rb
|
76
|
+
- lib/ginatra/helpers.rb
|
77
|
+
- lib/ginatra/repo.rb
|
78
|
+
- lib/ginatra/repo_list.rb
|
79
|
+
- lib/sinatra/partials.rb
|
80
|
+
- public/favicon.ico
|
81
|
+
- public/img/add.png
|
82
|
+
- public/img/diff.png
|
83
|
+
- public/img/doc.png
|
84
|
+
- public/img/rm.png
|
85
|
+
- public/img/tree.png
|
86
|
+
- public/src/blank.gif
|
87
|
+
- public/src/colour.css
|
88
|
+
- public/src/commit.css
|
89
|
+
- public/src/default.css
|
90
|
+
- public/src/ginatra.js
|
91
|
+
- public/src/highlight.pack.js
|
92
|
+
- public/src/iepngfix.htc
|
93
|
+
- public/src/index.css
|
94
|
+
- public/src/jquery-1.3.2.min.js
|
95
|
+
- public/src/lists.css
|
96
|
+
- public/src/reset.css
|
97
|
+
- public/src/table.css
|
98
|
+
- public/src/type.css
|
99
|
+
- rackup.ru
|
100
|
+
- repos/README.md
|
101
|
+
- spec/repo_list_spec.rb
|
102
|
+
- spec/repo_spec.rb
|
103
|
+
- spec/spec_helper.rb
|
104
|
+
- vendor/vegas/History.txt
|
105
|
+
- vendor/vegas/LICENSE
|
106
|
+
- vendor/vegas/Manifest.txt
|
107
|
+
- vendor/vegas/README.rdoc
|
108
|
+
- vendor/vegas/Rakefile
|
109
|
+
- vendor/vegas/lib/vegas.rb
|
110
|
+
- vendor/vegas/lib/vegas/runner.rb
|
111
|
+
- vendor/vegas/test/test_app/bin/test_app
|
112
|
+
- vendor/vegas/test/test_app/test_app.rb
|
113
|
+
- vendor/vegas/test/test_apps.rb
|
114
|
+
- vendor/vegas/test/test_helper.rb
|
115
|
+
- vendor/vegas/test/test_vegas_runner.rb
|
116
|
+
- vendor/vegas/vegas.gemspec
|
117
|
+
- views/_actor_box.erb
|
118
|
+
- views/_commit_info_box.erb
|
119
|
+
- views/_header.erb
|
120
|
+
- views/_tree_part.erb
|
121
|
+
- views/atom.builder
|
122
|
+
- views/blob.erb
|
123
|
+
- views/commit.erb
|
124
|
+
- views/index.erb
|
125
|
+
- views/layout.erb
|
126
|
+
- views/log.erb
|
127
|
+
- views/tree.erb
|
128
|
+
has_rdoc: false
|
129
|
+
homepage: http://lenary.github.com/ginatra
|
130
|
+
licenses:
|
131
|
+
post_install_message:
|
132
|
+
rdoc_options:
|
133
|
+
- --charset=UTF-8
|
134
|
+
require_paths:
|
135
|
+
- lib
|
136
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
137
|
+
requirements:
|
138
|
+
- - ">="
|
139
|
+
- !ruby/object:Gem::Version
|
140
|
+
version: "0"
|
141
|
+
version:
|
142
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
143
|
+
requirements:
|
144
|
+
- - ">="
|
145
|
+
- !ruby/object:Gem::Version
|
146
|
+
version: "0"
|
147
|
+
version:
|
148
|
+
requirements: []
|
149
|
+
|
150
|
+
rubyforge_project:
|
151
|
+
rubygems_version: 1.3.5
|
152
|
+
signing_key:
|
153
|
+
specification_version: 3
|
154
|
+
summary: A Gitweb Clone in Sinatra and Grit
|
155
|
+
test_files:
|
156
|
+
- spec/repo_list_spec.rb
|
157
|
+
- spec/repo_spec.rb
|
158
|
+
- spec/spec_helper.rb
|