dolt 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (48) hide show
  1. data/.gitmodules +3 -0
  2. data/Gemfile +3 -0
  3. data/Gemfile.lock +53 -0
  4. data/Rakefile +10 -0
  5. data/Readme.md +25 -0
  6. data/bin/dolt +46 -0
  7. data/dolt.gemspec +39 -0
  8. data/lib/dolt/async/deferrable_child_process.rb +49 -0
  9. data/lib/dolt/async/when.rb +87 -0
  10. data/lib/dolt/disk_repo_resolver.rb +41 -0
  11. data/lib/dolt/git/blob.rb +31 -0
  12. data/lib/dolt/git/repository.rb +47 -0
  13. data/lib/dolt/git/shell.rb +39 -0
  14. data/lib/dolt/repo_actions.rb +41 -0
  15. data/lib/dolt/sinatra/actions.rb +38 -0
  16. data/lib/dolt/sinatra/base.rb +36 -0
  17. data/lib/dolt/sinatra/multi_repo_browser.rb +37 -0
  18. data/lib/dolt/sinatra/single_repo_browser.rb +44 -0
  19. data/lib/dolt/template_renderer.rb +60 -0
  20. data/lib/dolt/version.rb +21 -0
  21. data/lib/dolt/view.rb +58 -0
  22. data/lib/dolt/view/breadcrumb.rb +45 -0
  23. data/lib/dolt/view/highlighter.rb +49 -0
  24. data/test/dolt/git/blob_test.rb +49 -0
  25. data/test/dolt/git/repository_test.rb +70 -0
  26. data/test/dolt/git/shell_test.rb +78 -0
  27. data/test/dolt/repo_actions_test.rb +73 -0
  28. data/test/dolt/sinatra/actions_test.rb +81 -0
  29. data/test/dolt/template_renderer_test.rb +80 -0
  30. data/test/dolt/view_test.rb +88 -0
  31. data/test/dolt/views/blob_test.rb +96 -0
  32. data/test/test_helper.rb +43 -0
  33. data/vendor/ui/bootstrap/css/bootstrap-responsive.min.css +9 -0
  34. data/vendor/ui/bootstrap/css/bootstrap.min.css +9 -0
  35. data/vendor/ui/bootstrap/img/glyphicons-halflings-white.png +0 -0
  36. data/vendor/ui/bootstrap/img/glyphicons-halflings.png +0 -0
  37. data/vendor/ui/bootstrap/js/bootstrap.min.js +6 -0
  38. data/vendor/ui/css/gitorious.css +535 -0
  39. data/vendor/ui/css/pygments.css +133 -0
  40. data/vendor/ui/iconic/lock_stroke.svg +17 -0
  41. data/vendor/ui/images/f5f5f5-980x1.png +0 -0
  42. data/vendor/ui/images/gitorious.png +0 -0
  43. data/vendor/ui/images/powered-by.png +0 -0
  44. data/vendor/ui/images/white-980x1.png +0 -0
  45. data/vendor/ui/js/gitorious.js +87 -0
  46. data/views/blob.erb +43 -0
  47. data/views/layout.erb +42 -0
  48. metadata +263 -0
@@ -0,0 +1,133 @@
1
+ .prettyprint {
2
+ background-color: #f7f7f9;
3
+ border: 1px solid #e1e1e8;
4
+ padding: 8px;
5
+ }
6
+
7
+ .gts-file .prettyprint {
8
+ background: #fefefe;
9
+ }
10
+
11
+ .prettyprint.linenums {
12
+ box-shadow: 47px 0 0 #fbfbfc inset, 48px 0 0 #ececF0 inset;
13
+ }
14
+
15
+ ol.linenums {
16
+ margin: 0 0 0 40px;
17
+ }
18
+
19
+ ol.linenums li {
20
+ color: #bebec5;
21
+ line-height: 18px;
22
+ padding-left: 12px;
23
+ text-shadow: 0 1px 0 #fff;
24
+ }
25
+
26
+ .linenums .line {
27
+ display: block;
28
+ min-height: 18px;
29
+ }
30
+
31
+ .c, /* Comment */
32
+ .cm, /* Comment.Multiline */
33
+ .c1, /* Comment.Single */
34
+ .cs /* Comment.Special */
35
+ { color: #93A1A1; }
36
+
37
+ .k, /* Keyword */
38
+ .kc, /* Keyword.Constant */
39
+ .kd, /* Keyword.Declaration */
40
+ .kn, /* Keyword.Namespace */
41
+ .kr, /* Keyword.Reserved */
42
+ .kp, /* Keyword.Pseudo */
43
+ .nb, /* Name.Builtin */
44
+ .sx, /* Literal.String.Other */
45
+ .bp /* Name.Builtin.Pseudo */
46
+ { color: #1e347b; }
47
+
48
+ .nc, /* Name.Class */
49
+ .nn, /* Name.Namespace */
50
+ .nf, /* Name.Function */
51
+ .no /* Name.Constant */
52
+ { color: #dc322f; }
53
+
54
+ .s, /* Literal.String */
55
+ .sb, /* Literal.String.Backtick */
56
+ .sc, /* Literal.String.Char */
57
+ .sd, /* Literal.String.Doc */
58
+ .s2, /* Literal.String.Double */
59
+ .sh, /* Literal.String.Heredoc */
60
+ .s1, /* Literal.String.Single */
61
+ .se, /* Literal.String.Escape */
62
+ .si /* Literal.String.Interpol */
63
+ { color: #dd1144; }
64
+
65
+ .nt, /* Name.Tag */
66
+ .m, /* Literal.Number */
67
+ .mf, /* Literal.Number.Float */
68
+ .mh, /* Literal.Number.Hex */
69
+ .mi, /* Literal.Number.Integer */
70
+ .mo, /* Literal.Number.Oct */
71
+ .il, /* Literal.Number.Integer.Long */
72
+ .vi, /* Name.Variable.Instance */
73
+ .ow, /* Operator.Word */
74
+ .na, /* Name.Attribute */
75
+ .n,
76
+ .nx,
77
+ .p,
78
+ .line
79
+ { color: #48484c; }
80
+
81
+ .vc, /* Name.Variable.Class */
82
+ .vg, /* Name.Variable.Global */
83
+ .nv /* Name.Variable */
84
+ { color: #a74e4c; }
85
+
86
+ .ss, /* Literal.String.Symbol */
87
+ .sr, /* Literal.String.Regex */
88
+ .cp /* Comment.Preproc */
89
+ { color: #bc7a00 }
90
+
91
+ .sd { font-style: italic; }
92
+
93
+ .vi, .k, .kc, .kd, .kn, .kr, .nt, .nc, .nn, .no, .nb, .nf, .ow, .si { font-weight: bold; }
94
+
95
+ /* --- */
96
+
97
+ .html-erb .cp { color: #48484c; }
98
+ .common-lisp .nv { color: #48484c; }
99
+
100
+ /* --- */
101
+
102
+ .hll { background-color: #ffffcc; }
103
+ .err { border: 1px solid #ff0000; } /* Error */
104
+ .o { color: #666; } /* Operator */
105
+ .gd { color: #a00000; } /* Generic.Deleted */
106
+ .ge { font-style: italic; } /* Generic.Emph */
107
+ .gr { color: #f00; } /* Generic.Error */
108
+ .gh { color: #000080; font-weight: bold; } /* Generic.Heading */
109
+ .gi { color: #00a000; } /* Generic.Inserted */
110
+ .go { color: #888; } /* Generic.Output */
111
+ .gp { color: #000080; font-weight: bold; } /* Generic.Prompt */
112
+ .gs { font-weight: bold; } /* Generic.Strong */
113
+ .gu { color: #800080; font-weight: bold; } /* Generic.Subheading */
114
+ .gt { color: #04d; } /* Generic.Traceback */
115
+ .kt { color: #b00040; } /* Keyword.Type */
116
+ .nd { color: #a2f; } /* Name.Decorator */
117
+ .ni { color: #999; font-weight: bold; } /* Name.Entity */
118
+ .ne { color: #d2413a; font-weight: bold; } /* Name.Exception */
119
+ .nl { color: #a0a000; } /* Name.Label */
120
+ .w { color: #bbb; } /* Text.Whitespace */
121
+
122
+ /* Mouseover */
123
+ ol.linenums li.focus {
124
+ color: #48484e;
125
+ }
126
+
127
+ ol.linenums li.focus .line {
128
+ background: #ffc;
129
+ margin-left: -60px;
130
+ padding-left: 60px;
131
+ margin-right: -8px;
132
+ padding-right: 8px;
133
+ }
@@ -0,0 +1,17 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!-- Generator: Adobe Illustrator 15.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
3
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
4
+ <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="24px"
5
+ height="32px" viewBox="0 0 24 32" style="enable-background:new 0 0 24 32;" xml:space="preserve">
6
+ <g id="Layer_1">
7
+ </g>
8
+ <g id="lock_x5F_stroke">
9
+ <g>
10
+ <path style="fill:#4E4E50;" d="M14.004,0c-5.51,0-9.998,4.484-9.998,10v2H0v14c0,3.305,2.695,6,5.998,6H18c3.312,0,6-2.695,6-6V10
11
+ C24,4.484,19.516,0,14.004,0z M8.006,10c0-3.312,2.693-6,5.998-6C17.312,4,20,6.688,20,10v2H8.006V10z M18,28H5.998
12
+ c-1.102,0-2-0.898-2-2V16H20v10C20,27.102,19.109,28,18,28z"/>
13
+ <path style="fill:#4E4E50;" d="M14.004,22c0,1.102-0.898,2-2,2c-1.109,0-2-0.898-2-2c0-1.109,0.891-2,2-2
14
+ C13.105,20,14.004,20.891,14.004,22z"/>
15
+ </g>
16
+ </g>
17
+ </svg>
Binary file
Binary file
Binary file
Binary file
@@ -0,0 +1,87 @@
1
+ $(".gts-select-onfocus").focus(function () {
2
+ this.select();
3
+ });
4
+
5
+ $(".gts-repo-url").click(function (e) {
6
+ e.preventDefault();
7
+ var btn = $(this);
8
+ var parent = btn.parent();
9
+ parent.find(".gts-repo-url").removeClass("active");
10
+ btn.addClass("active");
11
+ parent.find(".gts-current-repo-url").val(btn.attr("href")).focus();
12
+ });
13
+
14
+ $(".linenums li").mouseenter(function () {
15
+ $(this).addClass("focus");
16
+ });
17
+
18
+ $(".linenums li").mouseleave(function () {
19
+ $(this).removeClass("focus");
20
+ });
21
+
22
+ (function () {
23
+ var fileEl = document.getElementById("file");
24
+ var matches = window.location.href.match(/\#l(\d+)(?:-(\d+))?/);
25
+ if (!fileEl || !matches) { return; }
26
+ var lines = fileEl.getElementsByTagName("li");
27
+ var end = Math.max(matches[2] || matches[1], matches[1]);
28
+
29
+ for (var i = matches[1]; i <= end; ++i) {
30
+ $(lines[i - 1]).addClass("focus");
31
+ }
32
+ }());
33
+
34
+ jQuery("[rel=tooltip]").tooltip();
35
+
36
+ jQuery("[data-preview-target]").each(function () {
37
+ var textarea = this;
38
+ var target = document.getElementById(this.getAttribute("data-preview-target"));
39
+ if (!target || !Showdown) { return; }
40
+ var converter = new Showdown.converter();
41
+ var previous, content;
42
+
43
+ var cageSeed = new Date().getTime();
44
+
45
+ function zeroPad(num) {
46
+ return num < 10 ? "0" + num : num;
47
+ }
48
+
49
+ function signature() {
50
+ var now = new Date();
51
+ return "<p>" +
52
+ "<img width=\"24\" height=\"24\" class=\"gts-avatar\" alt=\"avatar\" src=\"http://cageme.herokuapp.com/24/24?" +
53
+ cageSeed + "\">" +
54
+ "<a href=\"/~zmalltalker\">Marius Mathiesen</a>" +
55
+ zeroPad(now.getHours()) + ":" + zeroPad(now.getMinutes()) +
56
+ ". <a href=\"#\">Edit comment</a></p>";
57
+ }
58
+
59
+ function setPreview(preview) {
60
+ target.style.display = preview ? "block" : "none";
61
+ target.getElementsByTagName("div")[0].innerHTML = preview;
62
+ }
63
+
64
+ function updatePreview() {
65
+ content = textarea.value;
66
+ if (content !== previous) {
67
+ previous = content;
68
+ setPreview(converter.makeHtml(content));
69
+ }
70
+ setTimeout(updatePreview, 20);
71
+ }
72
+
73
+ updatePreview();
74
+ });
75
+
76
+ // Lest ye forget
77
+ /*
78
+ var _gaq = _gaq || [];
79
+ _gaq.push(['_setAccount', 'UA-52238-3']);
80
+ _gaq.push(['_setDomainName', '.gitorious.org']);
81
+ _gaq.push(['_trackPageview']);
82
+ (function() {
83
+ var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
84
+ ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
85
+ (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(ga);
86
+ })();
87
+ */
data/views/blob.erb ADDED
@@ -0,0 +1,43 @@
1
+ <%#
2
+ # encoding: utf-8
3
+ #--
4
+ # Copyright (C) 2012 Gitorious AS
5
+ #
6
+ # This program is free software: you can redistribute it and/or modify
7
+ # it under the terms of the GNU Affero General Public License as published by
8
+ # the Free Software Foundation, either version 3 of the License, or
9
+ # (at your option) any later version.
10
+ #
11
+ # This program is distributed in the hope that it will be useful,
12
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
13
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
+ # GNU Affero General Public License for more details.
15
+ #
16
+ # You should have received a copy of the GNU Affero General Public License
17
+ # along with this program. If not, see <http://www.gnu.org/licenses/>.
18
+ #++
19
+ %>
20
+ <%
21
+ @title = "#{blob.path} in #{repository.name}:master"
22
+ %>
23
+ <div class="gts-file">
24
+ <%#
25
+ <div class="dropdown gts-branch-selector pull-right">
26
+ <a href="#" data-toggle="dropdown" class="dropdown-toggle"><span class="caret"></span> <em>branch:</em> master</a>
27
+ <ul class="dropdown-menu">
28
+ <li class="dropdown-label"><strong>Branches</strong></li>
29
+ <li><a href="#">master</a></li>
30
+ <li class="dropdown-label"><strong>Tags</strong></li>
31
+ <li><a href="#">v2.0.0</a></li>
32
+ </ul>
33
+ </div>
34
+ %>
35
+ <ul class="pull-right gts-blob-view">
36
+ <li class="active">Blob content</li>
37
+ <li><a href="/<%= repository.name %>/blame/<%= ref %>:<%= blob.path %>">Blame</a></li>
38
+ <li><a href="/<%= repository.name %>/history/<%= ref %>:<%= blob.path %>">History</a></li>
39
+ <li><a href="/<%= repository.name %>/raw/<%= ref %>:<%= blob.path %>">Raw blob</a></li>
40
+ </ul>
41
+ <%= breadcrumb(repository, ref, blob.path) %>
42
+ <%= highlight_lines(blob.path, blob.raw) %>
43
+ </div>
data/views/layout.erb ADDED
@@ -0,0 +1,42 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <title><%= @title %></title>
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
7
+ <link href="/css/gitorious.css" rel="stylesheet">
8
+ <link href="/bootstrap/css/bootstrap.min.css" rel="stylesheet">
9
+ <link href="/bootstrap/css/bootstrap-responsive.min.css" rel="stylesheet">
10
+ </head>
11
+ <body>
12
+ <div class="gts-masthead navbar">
13
+ <div class="navbar-inner">
14
+ <div class="container">
15
+ <a class="gts-logo" href="/"><img src="/images/gitorious.png" alt="Gitorious" title="Gitorious"></a>
16
+ </div>
17
+ </div>
18
+ </div>
19
+ <br><br>
20
+ <div class="container">
21
+ <%= yield %>
22
+ </div>
23
+ <div class="footer">
24
+ <div class="container">
25
+ <p class="pull-right gts-powered-by">
26
+ <a href="http://gitorious.org">
27
+ <img alt="Powered by Gitorious" src="/images/powered-by.png" title="Powered by Gitorious">
28
+ </a>
29
+ </p>
30
+ <p>
31
+ Dolt is part of <a href="http://gitorious.org">Gitorious</a>. Dolt
32
+ (like Gitorious) is free software licensed under
33
+ the <a href="http://www.gnu.org/licenses/agpl-3.0.html">GNU Affero
34
+ General Public License (AGPL)</a> unless noted otherwise.
35
+ </p>
36
+ </div>
37
+ </div>
38
+ <script src="/js/jquery.js"></script>
39
+ <script src="/bootstrap/js/bootstrap.min.js"></script>
40
+ <script src="/js/gitorious.js"></script>
41
+ </body>
42
+ </html>
metadata ADDED
@@ -0,0 +1,263 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: dolt
3
+ version: !ruby/object:Gem::Version
4
+ hash: 27
5
+ prerelease:
6
+ segments:
7
+ - 0
8
+ - 1
9
+ - 0
10
+ version: 0.1.0
11
+ platform: ruby
12
+ authors:
13
+ - Christian Johansen
14
+ autorequire:
15
+ bindir: bin
16
+ cert_chain: []
17
+
18
+ date: 2012-09-11 00:00:00 +02:00
19
+ default_executable:
20
+ dependencies:
21
+ - !ruby/object:Gem::Dependency
22
+ name: eventmachine
23
+ prerelease: false
24
+ requirement: &id001 !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ hash: 19
30
+ segments:
31
+ - 0
32
+ - 12
33
+ version: "0.12"
34
+ type: :runtime
35
+ version_requirements: *id001
36
+ - !ruby/object:Gem::Dependency
37
+ name: thin
38
+ prerelease: false
39
+ requirement: &id002 !ruby/object:Gem::Requirement
40
+ none: false
41
+ requirements:
42
+ - - ~>
43
+ - !ruby/object:Gem::Version
44
+ hash: 7
45
+ segments:
46
+ - 1
47
+ - 4
48
+ version: "1.4"
49
+ type: :runtime
50
+ version_requirements: *id002
51
+ - !ruby/object:Gem::Dependency
52
+ name: sinatra
53
+ prerelease: false
54
+ requirement: &id003 !ruby/object:Gem::Requirement
55
+ none: false
56
+ requirements:
57
+ - - ~>
58
+ - !ruby/object:Gem::Version
59
+ hash: 9
60
+ segments:
61
+ - 1
62
+ - 3
63
+ version: "1.3"
64
+ type: :runtime
65
+ version_requirements: *id003
66
+ - !ruby/object:Gem::Dependency
67
+ name: async_sinatra
68
+ prerelease: false
69
+ requirement: &id004 !ruby/object:Gem::Requirement
70
+ none: false
71
+ requirements:
72
+ - - ~>
73
+ - !ruby/object:Gem::Version
74
+ hash: 15
75
+ segments:
76
+ - 1
77
+ - 0
78
+ version: "1.0"
79
+ type: :runtime
80
+ version_requirements: *id004
81
+ - !ruby/object:Gem::Dependency
82
+ name: tilt
83
+ prerelease: false
84
+ requirement: &id005 !ruby/object:Gem::Requirement
85
+ none: false
86
+ requirements:
87
+ - - ~>
88
+ - !ruby/object:Gem::Version
89
+ hash: 9
90
+ segments:
91
+ - 1
92
+ - 3
93
+ version: "1.3"
94
+ type: :runtime
95
+ version_requirements: *id005
96
+ - !ruby/object:Gem::Dependency
97
+ name: pygments.rb
98
+ prerelease: false
99
+ requirement: &id006 !ruby/object:Gem::Requirement
100
+ none: false
101
+ requirements:
102
+ - - ~>
103
+ - !ruby/object:Gem::Version
104
+ hash: 15
105
+ segments:
106
+ - 0
107
+ - 2
108
+ version: "0.2"
109
+ type: :runtime
110
+ version_requirements: *id006
111
+ - !ruby/object:Gem::Dependency
112
+ name: minitest
113
+ prerelease: false
114
+ requirement: &id007 !ruby/object:Gem::Requirement
115
+ none: false
116
+ requirements:
117
+ - - ~>
118
+ - !ruby/object:Gem::Version
119
+ hash: 3
120
+ segments:
121
+ - 2
122
+ - 0
123
+ version: "2.0"
124
+ type: :development
125
+ version_requirements: *id007
126
+ - !ruby/object:Gem::Dependency
127
+ name: em-minitest-spec
128
+ prerelease: false
129
+ requirement: &id008 !ruby/object:Gem::Requirement
130
+ none: false
131
+ requirements:
132
+ - - ~>
133
+ - !ruby/object:Gem::Version
134
+ hash: 13
135
+ segments:
136
+ - 1
137
+ - 1
138
+ version: "1.1"
139
+ type: :development
140
+ version_requirements: *id008
141
+ - !ruby/object:Gem::Dependency
142
+ name: rake
143
+ prerelease: false
144
+ requirement: &id009 !ruby/object:Gem::Requirement
145
+ none: false
146
+ requirements:
147
+ - - ~>
148
+ - !ruby/object:Gem::Version
149
+ hash: 25
150
+ segments:
151
+ - 0
152
+ - 9
153
+ version: "0.9"
154
+ type: :development
155
+ version_requirements: *id009
156
+ - !ruby/object:Gem::Dependency
157
+ name: mocha
158
+ prerelease: false
159
+ requirement: &id010 !ruby/object:Gem::Requirement
160
+ none: false
161
+ requirements:
162
+ - - ">="
163
+ - !ruby/object:Gem::Version
164
+ hash: 3
165
+ segments:
166
+ - 0
167
+ version: "0"
168
+ type: :development
169
+ version_requirements: *id010
170
+ description: Dolt serves git trees and syntax highlighted blobs
171
+ email:
172
+ - christian@gitorious.org
173
+ executables:
174
+ - dolt
175
+ extensions: []
176
+
177
+ extra_rdoc_files: []
178
+
179
+ files:
180
+ - ./.gitmodules
181
+ - ./Gemfile
182
+ - ./Gemfile.lock
183
+ - ./Rakefile
184
+ - ./Readme.md
185
+ - ./bin/dolt
186
+ - ./dolt.gemspec
187
+ - ./lib/dolt/async/deferrable_child_process.rb
188
+ - ./lib/dolt/async/when.rb
189
+ - ./lib/dolt/disk_repo_resolver.rb
190
+ - ./lib/dolt/git/blob.rb
191
+ - ./lib/dolt/git/repository.rb
192
+ - ./lib/dolt/git/shell.rb
193
+ - ./lib/dolt/repo_actions.rb
194
+ - ./lib/dolt/sinatra/actions.rb
195
+ - ./lib/dolt/sinatra/base.rb
196
+ - ./lib/dolt/sinatra/multi_repo_browser.rb
197
+ - ./lib/dolt/sinatra/single_repo_browser.rb
198
+ - ./lib/dolt/template_renderer.rb
199
+ - ./lib/dolt/version.rb
200
+ - ./lib/dolt/view.rb
201
+ - ./lib/dolt/view/breadcrumb.rb
202
+ - ./lib/dolt/view/highlighter.rb
203
+ - ./test/dolt/git/blob_test.rb
204
+ - ./test/dolt/git/repository_test.rb
205
+ - ./test/dolt/git/shell_test.rb
206
+ - ./test/dolt/repo_actions_test.rb
207
+ - ./test/dolt/sinatra/actions_test.rb
208
+ - ./test/dolt/template_renderer_test.rb
209
+ - ./test/dolt/view_test.rb
210
+ - ./test/dolt/views/blob_test.rb
211
+ - ./test/test_helper.rb
212
+ - ./views/blob.erb
213
+ - ./views/layout.erb
214
+ - vendor/ui/bootstrap/css/bootstrap-responsive.min.css
215
+ - vendor/ui/bootstrap/css/bootstrap.min.css
216
+ - vendor/ui/bootstrap/img/glyphicons-halflings-white.png
217
+ - vendor/ui/bootstrap/img/glyphicons-halflings.png
218
+ - vendor/ui/bootstrap/js/bootstrap.min.js
219
+ - vendor/ui/css/gitorious.css
220
+ - vendor/ui/css/pygments.css
221
+ - vendor/ui/iconic/lock_stroke.svg
222
+ - vendor/ui/images/f5f5f5-980x1.png
223
+ - vendor/ui/images/gitorious.png
224
+ - vendor/ui/images/powered-by.png
225
+ - vendor/ui/images/white-980x1.png
226
+ - vendor/ui/js/gitorious.js
227
+ - bin/dolt
228
+ has_rdoc: true
229
+ homepage: http://gitorious.org/gitorious/dolt
230
+ licenses: []
231
+
232
+ post_install_message:
233
+ rdoc_options: []
234
+
235
+ require_paths:
236
+ - lib
237
+ required_ruby_version: !ruby/object:Gem::Requirement
238
+ none: false
239
+ requirements:
240
+ - - ">="
241
+ - !ruby/object:Gem::Version
242
+ hash: 3
243
+ segments:
244
+ - 0
245
+ version: "0"
246
+ required_rubygems_version: !ruby/object:Gem::Requirement
247
+ none: false
248
+ requirements:
249
+ - - ">="
250
+ - !ruby/object:Gem::Version
251
+ hash: 3
252
+ segments:
253
+ - 0
254
+ version: "0"
255
+ requirements: []
256
+
257
+ rubyforge_project: dolt
258
+ rubygems_version: 1.4.2
259
+ signing_key:
260
+ specification_version: 3
261
+ summary: Dolt serves git trees and syntax highlighted blobs
262
+ test_files: []
263
+