dolt 0.1.0

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 (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
+