ginatra 2.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (58) hide show
  1. data/.gitattributes +2 -0
  2. data/.gitignore +13 -0
  3. data/.gitmodules +3 -0
  4. data/README.md +127 -0
  5. data/Rakefile +85 -0
  6. data/TODO.md +10 -0
  7. data/VERSION +1 -0
  8. data/bin/ginatra +60 -0
  9. data/bin/ginatra-daemon +81 -0
  10. data/bin/ginatra-directory +60 -0
  11. data/bin/ginatra-server +28 -0
  12. data/config.ru +7 -0
  13. data/features/pages.feature +33 -0
  14. data/features/step_definitions/page_steps.rb +36 -0
  15. data/features/support/env.rb +12 -0
  16. data/ginatra.gemspec +107 -0
  17. data/lib/ginatra/config.rb +55 -0
  18. data/lib/ginatra/helpers.rb +112 -0
  19. data/lib/ginatra/repo.rb +50 -0
  20. data/lib/ginatra/repo_list.rb +53 -0
  21. data/lib/ginatra.rb +185 -0
  22. data/lib/sinatra/partials.rb +17 -0
  23. data/public/favicon.ico +0 -0
  24. data/public/img/add.png +0 -0
  25. data/public/img/diff.png +0 -0
  26. data/public/img/doc.png +0 -0
  27. data/public/img/rm.png +0 -0
  28. data/public/img/tree.png +0 -0
  29. data/public/src/blank.gif +0 -0
  30. data/public/src/colour.css +85 -0
  31. data/public/src/commit.css +211 -0
  32. data/public/src/default.css +115 -0
  33. data/public/src/ginatra.js +9 -0
  34. data/public/src/highlight.pack.js +1 -0
  35. data/public/src/iepngfix.htc +103 -0
  36. data/public/src/index.css +92 -0
  37. data/public/src/jquery-1.3.2.min.js +19 -0
  38. data/public/src/lists.css +25 -0
  39. data/public/src/reset.css +49 -0
  40. data/public/src/table.css +33 -0
  41. data/public/src/type.css +30 -0
  42. data/rackup.ru +7 -0
  43. data/repos/README.md +8 -0
  44. data/spec/repo_list_spec.rb +22 -0
  45. data/spec/repo_spec.rb +58 -0
  46. data/spec/spec_helper.rb +30 -0
  47. data/views/_actor_box.erb +13 -0
  48. data/views/_commit_info_box.erb +27 -0
  49. data/views/_header.erb +6 -0
  50. data/views/_tree_part.erb +11 -0
  51. data/views/atom.builder +32 -0
  52. data/views/blob.erb +9 -0
  53. data/views/commit.erb +20 -0
  54. data/views/index.erb +12 -0
  55. data/views/layout.erb +35 -0
  56. data/views/log.erb +64 -0
  57. data/views/tree.erb +24 -0
  58. metadata +146 -0
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">&nbsp;</div>
30
+ </div>
31
+ <div id="footer">
32
+ Ginatra &mdash; &copy; 2009 Samuel Elliott &mdash; <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">&nbsp;</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">&nbsp;</div>
24
+ </div>
metadata ADDED
@@ -0,0 +1,146 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: ginatra
3
+ version: !ruby/object:Gem::Version
4
+ version: 2.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Sam Elliott
8
+ - Ryan Bigg
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+
13
+ date: 2009-08-25 00:00:00 +01: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
+ - views/_actor_box.erb
105
+ - views/_commit_info_box.erb
106
+ - views/_header.erb
107
+ - views/_tree_part.erb
108
+ - views/atom.builder
109
+ - views/blob.erb
110
+ - views/commit.erb
111
+ - views/index.erb
112
+ - views/layout.erb
113
+ - views/log.erb
114
+ - views/tree.erb
115
+ has_rdoc: true
116
+ homepage: http://lenary.github.com/ginatra
117
+ licenses: []
118
+
119
+ post_install_message:
120
+ rdoc_options:
121
+ - --charset=UTF-8
122
+ require_paths:
123
+ - lib
124
+ required_ruby_version: !ruby/object:Gem::Requirement
125
+ requirements:
126
+ - - ">="
127
+ - !ruby/object:Gem::Version
128
+ version: "0"
129
+ version:
130
+ required_rubygems_version: !ruby/object:Gem::Requirement
131
+ requirements:
132
+ - - ">="
133
+ - !ruby/object:Gem::Version
134
+ version: "0"
135
+ version:
136
+ requirements: []
137
+
138
+ rubyforge_project:
139
+ rubygems_version: 1.3.4
140
+ signing_key:
141
+ specification_version: 3
142
+ summary: A Gitweb Clone in Sinatra and Grit
143
+ test_files:
144
+ - spec/repo_list_spec.rb
145
+ - spec/repo_spec.rb
146
+ - spec/spec_helper.rb