eex2slime 1.0.0 → 1.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.
- checksums.yaml +4 -4
- data/README.md +16 -0
- data/lib/eex2slime/converter.rb +5 -0
- data/lib/eex2slime/hpricot_monkeypatches.rb +10 -4
- data/lib/eex2slime/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4b738d64b952b6c2474ed29e9b5a73bf42e03098
|
4
|
+
data.tar.gz: e0b8f4692b57a5965f5d2d84891e018ef88e1ddf
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ffbb73b748c0b7e16009cc6e4674704690ef07c5df206b8a22be88ad9296381e6c8988ef1152d669902b0e1bbc8a1026427b2c6b0b744a4323f0070fe89c7af5
|
7
|
+
data.tar.gz: 1243e479fd160c5d32085bc4ef3f03bd76e1caf7ce579d0534513b70700b53ae8dd337420cbf23ac434250c9635fef70e2d5d57447744b5250c6228ec417a087
|
data/README.md
CHANGED
@@ -70,6 +70,22 @@ CI runs tests on Rubies 2.2, 1.9.3. Ruby 1.8.7 isn't supported.
|
|
70
70
|
<article class="<%= if index == 0 do %>is-active<% end %>"></article>
|
71
71
|
```
|
72
72
|
|
73
|
+
- With EEx you could do something like this:
|
74
|
+
|
75
|
+
```erb
|
76
|
+
# header.html.eex
|
77
|
+
<div class="container">
|
78
|
+
|
79
|
+
# body.html.eex
|
80
|
+
body content is expected to be inside container div
|
81
|
+
|
82
|
+
# footer.html.eex
|
83
|
+
</div>
|
84
|
+
```
|
85
|
+
|
86
|
+
Slime doesn't support this, so `eex2slime` will produce non-expected output (body won't be nested inside the container). Be wary.
|
87
|
+
|
88
|
+
|
73
89
|
## License
|
74
90
|
|
75
91
|
This project uses MIT license.
|
data/lib/eex2slime/converter.rb
CHANGED
@@ -12,6 +12,11 @@ module EEx2Slime
|
|
12
12
|
open(stream).read
|
13
13
|
end
|
14
14
|
new(input)
|
15
|
+
rescue
|
16
|
+
human_readable_name = stream.path if stream.respond_to?(:path)
|
17
|
+
human_readable_name ||= stream.inspect
|
18
|
+
$stderr.puts "An error occurred during converting #{human_readable_name}"
|
19
|
+
raise
|
15
20
|
end
|
16
21
|
|
17
22
|
def initialize(input)
|
@@ -99,16 +99,22 @@ class Hpricot::Elem
|
|
99
99
|
|
100
100
|
def slime_elixir_code(r)
|
101
101
|
lines = code.lines.drop_while { |line| line.strip.empty? }
|
102
|
-
|
103
|
-
prettified_lines = lines.map do |line|
|
104
|
-
line.slice(indent_level .. -1).rstrip
|
105
|
-
end
|
102
|
+
prettified_lines = prettify_lines_indentation(lines)
|
106
103
|
prettified = prettified_lines.join(" \\\n#{r} ")
|
107
104
|
|
108
105
|
first_symbol = code.strip[0] == "=" ? "" : "- "
|
109
106
|
first_symbol + prettified
|
110
107
|
end
|
111
108
|
|
109
|
+
def prettify_lines_indentation(lines)
|
110
|
+
indent_level = lines.first.match(/^ */)[0].length
|
111
|
+
lines.map do |line|
|
112
|
+
next line.rstrip if line.length < indent_level
|
113
|
+
next line.rstrip unless line.slice(0, indent_level).strip.empty?
|
114
|
+
line.slice(indent_level .. -1).rstrip
|
115
|
+
end
|
116
|
+
end
|
117
|
+
|
112
118
|
def code
|
113
119
|
attributes["code"]
|
114
120
|
end
|
data/lib/eex2slime/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: eex2slime
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Anton Chuchkalov
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-03-
|
11
|
+
date: 2017-03-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: hpricot
|