ginatra 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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