trekky 0.0.4 → 0.0.5
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 +4 -4
- data/lib/trekky.rb +3 -7
- data/lib/trekky/haml_source.rb +7 -14
- data/lib/trekky/sass_source.rb +18 -1
- data/lib/trekky/source.rb +33 -8
- data/lib/trekky/static_source.rb +2 -1
- metadata +13 -13
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 658ace6e980518452b3b20e7523eca8da443d715
|
4
|
+
data.tar.gz: 2b7543546f879aa19b6ea310ce2ec9191caf209c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9de6ab2de5dca2eb8707155a8317f84708a972b4df5449e283627d056c2d2b8d1f16ba7f10886c1408396389948491ca739a515474ec9a1e4f269bfb1024d34b
|
7
|
+
data.tar.gz: d7e7049202d3dba5d361925badafc3e374d07fd99b9a2f9efdc69a6d2d2f12cf89a050370e4743080a20eb36adde2c870c37b7a6d1dcddc6612b491e2c3191a9
|
data/lib/trekky.rb
CHANGED
@@ -9,9 +9,9 @@ class Trekky
|
|
9
9
|
|
10
10
|
def render_to(target_dir)
|
11
11
|
@context.sources.each do |source|
|
12
|
-
output = source.render
|
13
12
|
path = target_path(target_dir, source)
|
14
|
-
|
13
|
+
output = source.render
|
14
|
+
output = source.render_errors unless source.valid?
|
15
15
|
STDOUT.puts "Writing #{source.path} to #{path}"
|
16
16
|
write(output, path)
|
17
17
|
end
|
@@ -20,7 +20,7 @@ class Trekky
|
|
20
20
|
private
|
21
21
|
|
22
22
|
def target_path(target_dir, source)
|
23
|
-
path = File.join(target_dir, source.path.gsub(source_dir, ''))
|
23
|
+
path = File.join(target_dir, source.path.gsub(@context.source_dir, ''))
|
24
24
|
if type = source.type
|
25
25
|
path.gsub(/\.#{type}/, '')
|
26
26
|
else
|
@@ -33,8 +33,4 @@ class Trekky
|
|
33
33
|
File.open(path, "wb") {|f| f.write(output) }
|
34
34
|
end
|
35
35
|
|
36
|
-
def source_dir
|
37
|
-
@context.source_dir
|
38
|
-
end
|
39
|
-
|
40
36
|
end
|
data/lib/trekky/haml_source.rb
CHANGED
@@ -12,24 +12,26 @@ class Trekky
|
|
12
12
|
end
|
13
13
|
|
14
14
|
def render(options = {}, &block)
|
15
|
-
|
15
|
+
clear_errors
|
16
|
+
@output = if block_given? || options[:layout] == false
|
16
17
|
render_input(&block)
|
17
18
|
else
|
18
|
-
|
19
|
+
buffer = render_input
|
19
20
|
if layout
|
20
21
|
layout.render do |name|
|
21
22
|
if regions.has_key?(name)
|
22
23
|
regions[name]
|
23
24
|
else
|
24
|
-
|
25
|
+
buffer
|
25
26
|
end
|
26
27
|
end
|
27
28
|
else
|
28
|
-
|
29
|
+
buffer
|
29
30
|
end
|
30
31
|
end
|
31
32
|
rescue Exception => error
|
32
|
-
|
33
|
+
STDOUT.puts "Adding error: #{error.message}"
|
34
|
+
add_error error
|
33
35
|
end
|
34
36
|
|
35
37
|
def partial(name)
|
@@ -64,14 +66,5 @@ class Trekky
|
|
64
66
|
@context.layouts.first
|
65
67
|
end
|
66
68
|
|
67
|
-
def render_error(e)
|
68
|
-
STDERR.puts "Error #{e.message}"
|
69
|
-
e.backtrace.each do |line|
|
70
|
-
STDERR.puts " #{line}"
|
71
|
-
end
|
72
|
-
nil
|
73
|
-
end
|
74
|
-
|
75
69
|
end
|
76
|
-
|
77
70
|
end
|
data/lib/trekky/sass_source.rb
CHANGED
@@ -3,10 +3,27 @@ require 'sass'
|
|
3
3
|
|
4
4
|
class Trekky
|
5
5
|
class SassSource < Source
|
6
|
+
HTML_ESCAPE_ONCE_REGEXP = /["><']|&(?!([a-zA-Z]+|(#\d+));)/
|
7
|
+
HTML_ESCAPE = {
|
8
|
+
'&' => '&',
|
9
|
+
'>' => '>',
|
10
|
+
'<' => '<',
|
11
|
+
'"' => '"',
|
12
|
+
"'" => '''
|
13
|
+
}
|
6
14
|
|
7
15
|
def render
|
16
|
+
clear_errors
|
8
17
|
Sass.load_paths << @context.source_dir
|
9
|
-
Sass::Engine.new(input, options).render
|
18
|
+
@output = Sass::Engine.new(input, options).render
|
19
|
+
rescue Exception => error
|
20
|
+
STDOUT.puts "Adding error: #{error.message}"
|
21
|
+
add_error error
|
22
|
+
end
|
23
|
+
|
24
|
+
def render_error(error)
|
25
|
+
input = error.message.to_s.gsub(HTML_ESCAPE_ONCE_REGEXP, HTML_ESCAPE)
|
26
|
+
sprintf('body::before{ content:"%s" }', input)
|
10
27
|
end
|
11
28
|
|
12
29
|
def options
|
data/lib/trekky/source.rb
CHANGED
@@ -2,21 +2,20 @@ class Trekky
|
|
2
2
|
|
3
3
|
class Source
|
4
4
|
|
5
|
+
attr_reader :output, :context, :path, :errors
|
6
|
+
|
5
7
|
def initialize(context, path)
|
6
8
|
@path = path
|
7
9
|
@context = context
|
10
|
+
@errors = []
|
8
11
|
end
|
9
12
|
|
10
13
|
def render(&block)
|
11
|
-
raise NotImplementedError
|
12
|
-
end
|
13
|
-
|
14
|
-
def path
|
15
|
-
@path
|
14
|
+
raise NotImplementedError
|
16
15
|
end
|
17
16
|
|
18
|
-
def
|
19
|
-
@
|
17
|
+
def valid?
|
18
|
+
@errors.empty?
|
20
19
|
end
|
21
20
|
|
22
21
|
def type
|
@@ -31,5 +30,31 @@ class Trekky
|
|
31
30
|
File.read(path)
|
32
31
|
end
|
33
32
|
|
33
|
+
def add_error(error)
|
34
|
+
@errors << error
|
35
|
+
nil
|
36
|
+
end
|
37
|
+
|
38
|
+
def clear_errors
|
39
|
+
@errors = []
|
40
|
+
end
|
41
|
+
|
42
|
+
def render_errors
|
43
|
+
@errors.map do |error|
|
44
|
+
render_error(error)
|
45
|
+
end.join("<br/>")
|
46
|
+
end
|
47
|
+
|
48
|
+
def render_error(error)
|
49
|
+
Haml::Engine.new(<<-INPUT.gsub(" "*8, "")).render(self, {error: error})
|
50
|
+
%h1 File: #{path}
|
51
|
+
%h3 Error: #{error.message}
|
52
|
+
%pre
|
53
|
+
%code
|
54
|
+
- error.backtrace.each do |line|
|
55
|
+
= line
|
56
|
+
%br
|
57
|
+
INPUT
|
58
|
+
end
|
34
59
|
end
|
35
|
-
end
|
60
|
+
end
|
data/lib/trekky/static_source.rb
CHANGED
metadata
CHANGED
@@ -1,69 +1,69 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: trekky
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Lucas Florio
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-07-
|
11
|
+
date: 2014-07-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: clap
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - ~>
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '1.0'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- -
|
24
|
+
- - ~>
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '1.0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: sass
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- -
|
31
|
+
- - ~>
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '3.3'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- -
|
38
|
+
- - ~>
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '3.3'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: haml
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- -
|
45
|
+
- - ~>
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: '4.0'
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- -
|
52
|
+
- - ~>
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '4.0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: rb-fsevent
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- -
|
59
|
+
- - ~>
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: '0.9'
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- -
|
66
|
+
- - ~>
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0.9'
|
69
69
|
description: Simple, very simple, sass and haml compiler.
|
@@ -92,17 +92,17 @@ require_paths:
|
|
92
92
|
- lib
|
93
93
|
required_ruby_version: !ruby/object:Gem::Requirement
|
94
94
|
requirements:
|
95
|
-
- -
|
95
|
+
- - '>='
|
96
96
|
- !ruby/object:Gem::Version
|
97
97
|
version: '0'
|
98
98
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
99
99
|
requirements:
|
100
|
-
- -
|
100
|
+
- - '>='
|
101
101
|
- !ruby/object:Gem::Version
|
102
102
|
version: '0'
|
103
103
|
requirements: []
|
104
104
|
rubyforge_project:
|
105
|
-
rubygems_version: 2.
|
105
|
+
rubygems_version: 2.0.14
|
106
106
|
signing_key:
|
107
107
|
specification_version: 4
|
108
108
|
summary: Simple, very simple, sass and haml compiler for dear designer friend.
|