inky-rb 1.3.6.2 → 1.3.6.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +16 -0
- data/Gemfile.lock +23 -1
- data/README.md +8 -1
- data/Rakefile +7 -0
- data/gemfiles/rails_3.gemfile +5 -0
- data/gemfiles/rails_4.gemfile +5 -0
- data/gemfiles/rails_5.gemfile +5 -0
- data/inky.gemspec +2 -0
- data/lib/inky/rails/version.rb +1 -1
- data/lib/inky.rb +3 -1
- data/spec/components_spec.rb +2 -2
- data/spec/spec_helper.rb +10 -3
- metadata +34 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 71ce8013a2662a04d29f602103e3469f8b643438
|
4
|
+
data.tar.gz: 72256f8875d40b80943cb5cb77d9eb437e76c649
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 05a783f3a2966497ec8894945c7f389c4a76b9f16d5e70e0b50b9afc3f67877ba1976988911ed8aca605391e64c1f2ed1fb476c671b21257fb733251d07d8c9c
|
7
|
+
data.tar.gz: d17d71d531bd72f64d08d72e2ab1f97348ce41f1b240f1182998c6ec58bd5a4a979d0fb4971d70201923775a1bda15d455302cd7ae64002ca8cbd39b31c288d0
|
data/.travis.yml
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
sudo: false
|
2
|
+
language: ruby
|
3
|
+
rvm:
|
4
|
+
- 2.0.0
|
5
|
+
- 2.2.5
|
6
|
+
gemfile:
|
7
|
+
- gemfiles/rails_3.gemfile
|
8
|
+
- gemfiles/rails_4.gemfile
|
9
|
+
- gemfiles/rails_5.gemfile
|
10
|
+
matrix:
|
11
|
+
exclude:
|
12
|
+
- rvm: 2.0.0
|
13
|
+
gemfile: gemfiles/rails_5.gemfile
|
14
|
+
before_install:
|
15
|
+
- gem install bundler
|
16
|
+
- 'npm install -g inky-cli'
|
data/Gemfile.lock
CHANGED
@@ -1,27 +1,47 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
inky-rb (1.3.6.
|
4
|
+
inky-rb (1.3.6.3)
|
5
5
|
foundation_emails (~> 2)
|
6
6
|
nokogiri
|
7
7
|
|
8
8
|
GEM
|
9
9
|
remote: https://rubygems.org/
|
10
10
|
specs:
|
11
|
+
ast (2.3.0)
|
11
12
|
diff-lcs (1.2.5)
|
12
13
|
foundation_emails (2.2.0.0)
|
13
14
|
mini_portile2 (2.1.0)
|
14
15
|
nokogiri (1.6.8)
|
15
16
|
mini_portile2 (~> 2.1.0)
|
16
17
|
pkg-config (~> 1.1.7)
|
18
|
+
parser (2.3.1.4)
|
19
|
+
ast (~> 2.2)
|
17
20
|
pkg-config (1.1.7)
|
21
|
+
powerpack (0.1.1)
|
22
|
+
rainbow (2.1.0)
|
18
23
|
rake (11.2.2)
|
24
|
+
rspec (3.5.0)
|
25
|
+
rspec-core (~> 3.5.0)
|
26
|
+
rspec-expectations (~> 3.5.0)
|
27
|
+
rspec-mocks (~> 3.5.0)
|
19
28
|
rspec-core (3.5.0)
|
20
29
|
rspec-support (~> 3.5.0)
|
21
30
|
rspec-expectations (3.5.0)
|
22
31
|
diff-lcs (>= 1.2.0, < 2.0)
|
23
32
|
rspec-support (~> 3.5.0)
|
33
|
+
rspec-mocks (3.5.0)
|
34
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
35
|
+
rspec-support (~> 3.5.0)
|
24
36
|
rspec-support (3.5.0)
|
37
|
+
rubocop (0.43.0)
|
38
|
+
parser (>= 2.3.1.1, < 3.0)
|
39
|
+
powerpack (~> 0.1)
|
40
|
+
rainbow (>= 1.99.1, < 3.0)
|
41
|
+
ruby-progressbar (~> 1.7)
|
42
|
+
unicode-display_width (~> 1.0, >= 1.0.1)
|
43
|
+
ruby-progressbar (1.7.5)
|
44
|
+
unicode-display_width (1.1.1)
|
25
45
|
|
26
46
|
PLATFORMS
|
27
47
|
ruby
|
@@ -30,8 +50,10 @@ DEPENDENCIES
|
|
30
50
|
bundler (~> 1.6)
|
31
51
|
inky-rb!
|
32
52
|
rake
|
53
|
+
rspec
|
33
54
|
rspec-core
|
34
55
|
rspec-expectations
|
56
|
+
rubocop
|
35
57
|
|
36
58
|
BUNDLED WITH
|
37
59
|
1.12.5
|
data/README.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# Inky
|
2
2
|
|
3
|
-
[![Gem Version](https://badge.fury.io/rb/inky-rb.svg)](https://badge.fury.io/rb/inky-rb)
|
3
|
+
[![Gem Version](https://badge.fury.io/rb/inky-rb.svg)](https://badge.fury.io/rb/inky-rb) [![Build Status](https://travis-ci.org/zurb/inky-rb.svg?branch=master)](https://travis-ci.org/zurb/inky-rb)
|
4
4
|
|
5
5
|
Inky is an HTML-based templating language that converts simple HTML into complex, responsive email-ready HTML. Designed for [Foundation for Emails](http://foundation.zurb.com/emails), a responsive email framework from [ZURB](http://zurb.com).
|
6
6
|
|
@@ -101,3 +101,10 @@ Here are the names of the defaults:
|
|
101
101
|
## Programmatic Use
|
102
102
|
|
103
103
|
The Inky parser can be accessed directly for programmatic use.
|
104
|
+
|
105
|
+
## Requirements
|
106
|
+
|
107
|
+
Inky-rb currently requires:
|
108
|
+
|
109
|
+
* Ruby 2.0+
|
110
|
+
* Rails 3, 4 or 5
|
data/Rakefile
CHANGED
@@ -1,7 +1,14 @@
|
|
1
1
|
require "bundler/gem_tasks"
|
2
|
+
require 'rubocop/rake_task'
|
3
|
+
|
4
|
+
RuboCop::RakeTask.new
|
2
5
|
|
3
6
|
begin
|
4
7
|
require 'rspec/core/rake_task'
|
5
8
|
RSpec::Core::RakeTask.new(:spec)
|
6
9
|
rescue LoadError
|
7
10
|
end
|
11
|
+
|
12
|
+
task test_all: [:spec, :rubocop]
|
13
|
+
|
14
|
+
task default: :test_all
|
data/inky.gemspec
CHANGED
data/lib/inky/rails/version.rb
CHANGED
data/lib/inky.rb
CHANGED
@@ -33,7 +33,9 @@ module Inky
|
|
33
33
|
raws, str = Inky::Core.extract_raws(xml_string)
|
34
34
|
xml_doc = Nokogiri::XML(str)
|
35
35
|
transform_doc(xml_doc.root) if components_exist?(xml_doc)
|
36
|
-
|
36
|
+
string = xml_doc.to_s
|
37
|
+
string.sub!(/^<\?xml.*\?>\n/, '')
|
38
|
+
Inky::Core.re_inject_raws(string, raws)
|
37
39
|
end
|
38
40
|
|
39
41
|
def components_exist?(_xml_doc)
|
data/spec/components_spec.rb
CHANGED
@@ -355,8 +355,8 @@ end
|
|
355
355
|
|
356
356
|
RSpec.describe "raw" do
|
357
357
|
it 'creates a wrapper that ignores anything inside' do
|
358
|
-
input = "<body><raw><<LCG
|
359
|
-
expected = "
|
358
|
+
input = "<body><raw><<LCG ProgramTG LCG Coupon Code Default='246996'>></raw></body>"
|
359
|
+
expected = "<body><<LCG ProgramTG LCG Coupon Code Default='246996'>></body>\n"
|
360
360
|
|
361
361
|
# Can't do vanilla compare because the second will fail to parse
|
362
362
|
inky = Inky::Core.new
|
data/spec/spec_helper.rb
CHANGED
@@ -1,5 +1,14 @@
|
|
1
1
|
require 'inky'
|
2
2
|
|
3
|
+
def reformat_html(html)
|
4
|
+
html
|
5
|
+
.gsub(/\s+/, ' ') # Compact all whitespace to a single space
|
6
|
+
.gsub(/> *</, ">\n<") # Use returns between tags
|
7
|
+
.gsub(%r{<(\w+)([^>]*)>\n</\1>}, '<\1\2/>') # Auto close empty tags, e.g. <hr>\n</hr> => <hr/>
|
8
|
+
.gsub(/ "/, '"').gsub(/\=" /, '="') # Remove leading/trailing spaces inside attributes
|
9
|
+
.gsub(/ </, '<').gsub(/> /, '>') # Remove leading/trailing spaces inside tags
|
10
|
+
end
|
11
|
+
|
3
12
|
def compare(input, expected)
|
4
13
|
inky = Inky::Core.new
|
5
14
|
output = inky.release_the_kraken(input)
|
@@ -7,7 +16,5 @@ def compare(input, expected)
|
|
7
16
|
# TODO: Figure out a better way to do html compare in ruby..
|
8
17
|
# this is overly dependent on things like class ordering, making it
|
9
18
|
# fragile
|
10
|
-
|
11
|
-
expected_str = Nokogiri::XML(expected).to_s.gsub(/\s/, '')
|
12
|
-
expect(output_str).to eql(expected_str)
|
19
|
+
expect(reformat_html(output)).to eql(reformat_html(expected))
|
13
20
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: inky-rb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.3.6.
|
4
|
+
version: 1.3.6.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- ZURB
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-10-
|
11
|
+
date: 2016-10-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: foundation_emails
|
@@ -66,6 +66,34 @@ dependencies:
|
|
66
66
|
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: rspec
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: rubocop
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
69
97
|
description: 'Inky is an HTML-based templating language that converts simple HTML
|
70
98
|
into complex, responsive email-ready HTML. Designed for Foundation for Emails, a
|
71
99
|
responsive email framework from ZURB. '
|
@@ -77,10 +105,14 @@ extra_rdoc_files: []
|
|
77
105
|
files:
|
78
106
|
- ".gitignore"
|
79
107
|
- ".rubocop.yml"
|
108
|
+
- ".travis.yml"
|
80
109
|
- Gemfile
|
81
110
|
- Gemfile.lock
|
82
111
|
- README.md
|
83
112
|
- Rakefile
|
113
|
+
- gemfiles/rails_3.gemfile
|
114
|
+
- gemfiles/rails_4.gemfile
|
115
|
+
- gemfiles/rails_5.gemfile
|
84
116
|
- inky.gemspec
|
85
117
|
- lib/component_factory.rb
|
86
118
|
- lib/generators/inky/install_generator.rb
|