tau 0.1.0 → 0.1.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.
- checksums.yaml +7 -0
- data/.travis.yml +4 -0
- data/Gemfile +4 -0
- data/LICENSE +22 -0
- data/README.md +99 -93
- data/Rakefile +7 -0
- data/bin/tau +1 -1
- data/features/builder.feature +41 -41
- data/features/making_projects.feature +20 -20
- data/features/step_definitions/fs.rb +20 -20
- data/features/support/env.rb +9 -9
- data/lib/tau/builder.rb +29 -34
- data/lib/tau/cli.rb +35 -35
- data/lib/tau/config.rb +15 -0
- data/lib/tau/enginer.rb +42 -0
- data/lib/tau/engines/abstract_engine.rb +71 -0
- data/lib/tau/engines/coffee.rb +15 -0
- data/lib/tau/engines/haml.rb +15 -0
- data/lib/tau/engines/sass.rb +15 -0
- data/lib/tau/engines/scss.rb +15 -0
- data/lib/tau/projecter.rb +43 -30
- data/lib/tau/server.rb +18 -37
- data/lib/tau/server/file_listing.rb +58 -0
- data/lib/tau/server/views/file_listing.haml +20 -0
- data/lib/tau/version.rb +1 -1
- data/tau.gemspec +2 -2
- metadata +75 -52
- data/lib/tau/renderer.rb +0 -55
@@ -0,0 +1,58 @@
|
|
1
|
+
require 'haml'
|
2
|
+
|
3
|
+
module Tau
|
4
|
+
module ServerHelpers
|
5
|
+
module FileListing
|
6
|
+
def show_list_of_files_on(dirname, error="")
|
7
|
+
@title = "Tau: #{url_for dirname}"
|
8
|
+
@error = error
|
9
|
+
@file_list = list_of_files_on dirname
|
10
|
+
view = File.read File.join(File.dirname(__FILE__),'views/file_listing.haml')
|
11
|
+
halt Haml::Engine.new(view).render(self)
|
12
|
+
end
|
13
|
+
|
14
|
+
def list_of_files_on(dirname)
|
15
|
+
file_list = []
|
16
|
+
file_list << up_dir(dirname) unless upper_dir?(dirname)
|
17
|
+
Dir.chdir(dirname) do
|
18
|
+
Dir['*'].each do |filename|
|
19
|
+
file_list << {
|
20
|
+
filename: filename_for(filename),
|
21
|
+
type: File.directory?(filename) ? :dir : :file,
|
22
|
+
url: url_for(filename)
|
23
|
+
}
|
24
|
+
end
|
25
|
+
end
|
26
|
+
file_list.sort! do |one, another|
|
27
|
+
if one[:type] == :up or (one[:type] == :dir and another[:type] != :dir)
|
28
|
+
-1
|
29
|
+
elsif another[:type] == :up or (one[:type] != :dir and another[:type] == :dir)
|
30
|
+
1
|
31
|
+
else
|
32
|
+
one[:filename] <=> another[:filename]
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
def upper_dir?(dirname)
|
38
|
+
dirname.end_with?("/code")
|
39
|
+
end
|
40
|
+
|
41
|
+
def up_dir(dirname)
|
42
|
+
{
|
43
|
+
filename: '..',
|
44
|
+
type: :up,
|
45
|
+
url: url_for(dirname.sub(%r(/[[:word:]\.-]+/?\z), '/'))
|
46
|
+
}
|
47
|
+
end
|
48
|
+
|
49
|
+
def filename_for(filename)
|
50
|
+
Enginer.dst_for filename
|
51
|
+
end
|
52
|
+
|
53
|
+
def url_for(filename)
|
54
|
+
File.expand_path(Enginer.dst_for filename).sub(%r(\A.*/code/?), '/')
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
!!! 5
|
2
|
+
%html
|
3
|
+
%head
|
4
|
+
%title= @title
|
5
|
+
:css
|
6
|
+
#warning-message {
|
7
|
+
text-align: center;
|
8
|
+
font-size: 28px;
|
9
|
+
}
|
10
|
+
#file-list {
|
11
|
+
list-style-type: none;
|
12
|
+
}
|
13
|
+
.file {
|
14
|
+
font-size: 28px;
|
15
|
+
}
|
16
|
+
%body
|
17
|
+
%p#warning-message= @error
|
18
|
+
%ol#file-list
|
19
|
+
- @file_list.each do |file|
|
20
|
+
%li.file= %(<a href="#{file[:url]}">#{file[:filename]}</a>)
|
data/lib/tau/version.rb
CHANGED
data/tau.gemspec
CHANGED
@@ -13,8 +13,8 @@ Gem::Specification.new do |s|
|
|
13
13
|
|
14
14
|
s.files = `git ls-files`.split("\n")
|
15
15
|
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
16
|
-
s.executables =
|
17
|
-
s.require_paths = [
|
16
|
+
s.executables = ['tau']
|
17
|
+
s.require_paths = ['lib']
|
18
18
|
|
19
19
|
['cucumber', 'aruba', 'childprocess'].each do |dependecy|
|
20
20
|
s.add_development_dependency dependecy
|
metadata
CHANGED
@@ -1,104 +1,127 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tau
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
5
|
-
prerelease:
|
4
|
+
version: 0.1.1
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Dmitry Zhlobo
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2013-10-29 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: cucumber
|
16
|
-
requirement:
|
17
|
-
none: false
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
18
16
|
requirements:
|
19
|
-
- -
|
17
|
+
- - '>='
|
20
18
|
- !ruby/object:Gem::Version
|
21
19
|
version: '0'
|
22
20
|
type: :development
|
23
21
|
prerelease: false
|
24
|
-
version_requirements:
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - '>='
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
25
27
|
- !ruby/object:Gem::Dependency
|
26
28
|
name: aruba
|
27
|
-
requirement:
|
28
|
-
none: false
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
29
30
|
requirements:
|
30
|
-
- -
|
31
|
+
- - '>='
|
31
32
|
- !ruby/object:Gem::Version
|
32
33
|
version: '0'
|
33
34
|
type: :development
|
34
35
|
prerelease: false
|
35
|
-
version_requirements:
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - '>='
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
36
41
|
- !ruby/object:Gem::Dependency
|
37
42
|
name: childprocess
|
38
|
-
requirement:
|
39
|
-
none: false
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
40
44
|
requirements:
|
41
|
-
- -
|
45
|
+
- - '>='
|
42
46
|
- !ruby/object:Gem::Version
|
43
47
|
version: '0'
|
44
48
|
type: :development
|
45
49
|
prerelease: false
|
46
|
-
version_requirements:
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
47
55
|
- !ruby/object:Gem::Dependency
|
48
56
|
name: sinatra
|
49
|
-
requirement:
|
50
|
-
none: false
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
51
58
|
requirements:
|
52
|
-
- -
|
59
|
+
- - '>='
|
53
60
|
- !ruby/object:Gem::Version
|
54
61
|
version: '0'
|
55
62
|
type: :runtime
|
56
63
|
prerelease: false
|
57
|
-
version_requirements:
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - '>='
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
58
69
|
- !ruby/object:Gem::Dependency
|
59
70
|
name: sass
|
60
|
-
requirement:
|
61
|
-
none: false
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
62
72
|
requirements:
|
63
|
-
- -
|
73
|
+
- - '>='
|
64
74
|
- !ruby/object:Gem::Version
|
65
75
|
version: '0'
|
66
76
|
type: :runtime
|
67
77
|
prerelease: false
|
68
|
-
version_requirements:
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - '>='
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
69
83
|
- !ruby/object:Gem::Dependency
|
70
84
|
name: coffee-script
|
71
|
-
requirement:
|
72
|
-
none: false
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
73
86
|
requirements:
|
74
|
-
- -
|
87
|
+
- - '>='
|
75
88
|
- !ruby/object:Gem::Version
|
76
89
|
version: '0'
|
77
90
|
type: :runtime
|
78
91
|
prerelease: false
|
79
|
-
version_requirements:
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - '>='
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
80
97
|
- !ruby/object:Gem::Dependency
|
81
98
|
name: haml
|
82
|
-
requirement:
|
83
|
-
none: false
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
84
100
|
requirements:
|
85
|
-
- -
|
101
|
+
- - '>='
|
86
102
|
- !ruby/object:Gem::Version
|
87
103
|
version: '0'
|
88
104
|
type: :runtime
|
89
105
|
prerelease: false
|
90
|
-
version_requirements:
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - '>='
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
91
111
|
- !ruby/object:Gem::Dependency
|
92
112
|
name: thor
|
93
|
-
requirement:
|
94
|
-
none: false
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
95
114
|
requirements:
|
96
|
-
- -
|
115
|
+
- - '>='
|
97
116
|
- !ruby/object:Gem::Version
|
98
117
|
version: '0'
|
99
118
|
type: :runtime
|
100
119
|
prerelease: false
|
101
|
-
version_requirements:
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - '>='
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '0'
|
102
125
|
description: tau provide you write web pages on haml, stylesheets on sass and scripts
|
103
126
|
on coffee.
|
104
127
|
email:
|
@@ -109,7 +132,9 @@ extensions: []
|
|
109
132
|
extra_rdoc_files: []
|
110
133
|
files:
|
111
134
|
- .gitignore
|
135
|
+
- .travis.yml
|
112
136
|
- Gemfile
|
137
|
+
- LICENSE
|
113
138
|
- README.md
|
114
139
|
- Rakefile
|
115
140
|
- bin/tau
|
@@ -125,42 +150,40 @@ files:
|
|
125
150
|
- lib/tau.rb
|
126
151
|
- lib/tau/builder.rb
|
127
152
|
- lib/tau/cli.rb
|
153
|
+
- lib/tau/config.rb
|
154
|
+
- lib/tau/enginer.rb
|
155
|
+
- lib/tau/engines/abstract_engine.rb
|
156
|
+
- lib/tau/engines/coffee.rb
|
157
|
+
- lib/tau/engines/haml.rb
|
158
|
+
- lib/tau/engines/sass.rb
|
159
|
+
- lib/tau/engines/scss.rb
|
128
160
|
- lib/tau/projecter.rb
|
129
|
-
- lib/tau/renderer.rb
|
130
161
|
- lib/tau/server.rb
|
162
|
+
- lib/tau/server/file_listing.rb
|
163
|
+
- lib/tau/server/views/file_listing.haml
|
131
164
|
- lib/tau/version.rb
|
132
165
|
- tau.gemspec
|
133
166
|
homepage: http://github.com/proghat/tau
|
134
167
|
licenses: []
|
168
|
+
metadata: {}
|
135
169
|
post_install_message:
|
136
170
|
rdoc_options: []
|
137
171
|
require_paths:
|
138
172
|
- lib
|
139
173
|
required_ruby_version: !ruby/object:Gem::Requirement
|
140
|
-
none: false
|
141
174
|
requirements:
|
142
|
-
- -
|
175
|
+
- - '>='
|
143
176
|
- !ruby/object:Gem::Version
|
144
177
|
version: '0'
|
145
178
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
146
|
-
none: false
|
147
179
|
requirements:
|
148
|
-
- -
|
180
|
+
- - '>='
|
149
181
|
- !ruby/object:Gem::Version
|
150
182
|
version: '0'
|
151
183
|
requirements: []
|
152
184
|
rubyforge_project:
|
153
|
-
rubygems_version:
|
185
|
+
rubygems_version: 2.0.2
|
154
186
|
signing_key:
|
155
|
-
specification_version:
|
187
|
+
specification_version: 4
|
156
188
|
summary: Tool for web designers want to use haml, sass, coffee-script and others.
|
157
|
-
test_files:
|
158
|
-
- features/builder.feature
|
159
|
-
- features/cli.feature
|
160
|
-
- features/making_projects.feature
|
161
|
-
- features/server.feature
|
162
|
-
- features/step_definitions/cli.rb
|
163
|
-
- features/step_definitions/fs.rb
|
164
|
-
- features/step_definitions/network.rb
|
165
|
-
- features/support/cukegem.rb
|
166
|
-
- features/support/env.rb
|
189
|
+
test_files: []
|
data/lib/tau/renderer.rb
DELETED
@@ -1,55 +0,0 @@
|
|
1
|
-
module Tau
|
2
|
-
class Renderer
|
3
|
-
class << self
|
4
|
-
|
5
|
-
def render(content, lang)
|
6
|
-
return sass content if lang == :sass
|
7
|
-
return scss content if lang == :scss
|
8
|
-
return haml content if lang == :haml
|
9
|
-
return coffee content if lang == :coffee
|
10
|
-
end
|
11
|
-
|
12
|
-
def render_file(filename)
|
13
|
-
raise "File is not exist" unless File.exist?(filename)
|
14
|
-
|
15
|
-
content = File.read filename
|
16
|
-
return content unless need_render?(filename)
|
17
|
-
return sass content if filename.end_with?('.sass')
|
18
|
-
return scss content if filename.end_with?('.scss')
|
19
|
-
return haml content if filename.end_with?('.haml')
|
20
|
-
return coffee content if filename.end_with?('.coffee')
|
21
|
-
end
|
22
|
-
|
23
|
-
def render_to_file(dst_filename, filename)
|
24
|
-
File.write dst_filename, render_file(filename)
|
25
|
-
end
|
26
|
-
|
27
|
-
def need_render?(filename)
|
28
|
-
return true if filename.end_with?('.sass') or
|
29
|
-
filename.end_with?('.scss') or
|
30
|
-
filename.end_with?('.haml') or
|
31
|
-
filename.end_with?('.coffee')
|
32
|
-
false
|
33
|
-
end
|
34
|
-
|
35
|
-
private
|
36
|
-
|
37
|
-
def sass(content)
|
38
|
-
Sass::Engine.new(content).render
|
39
|
-
end
|
40
|
-
|
41
|
-
def scss(content)
|
42
|
-
Sass::Engine.new(content, syntax: :scss).render
|
43
|
-
end
|
44
|
-
|
45
|
-
def haml(content)
|
46
|
-
Haml::Engine.new(content).render
|
47
|
-
end
|
48
|
-
|
49
|
-
def coffee(content)
|
50
|
-
CoffeeScript.compile(content)
|
51
|
-
end
|
52
|
-
|
53
|
-
end
|
54
|
-
end
|
55
|
-
end
|