jekyll-ebook_reader 0.1.0 → 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/Gemfile.lock +100 -0
- data/README.md +29 -5
- data/Rakefile +3 -0
- data/jekyll-ebook_reader.gemspec +2 -1
- data/lib/jekyll/ebook_reader.rb +15 -17
- data/lib/jekyll/ebook_reader/assets/jekyll-ebookreader-assets/ebook_include_body_tag.html +35 -36
- data/lib/jekyll/ebook_reader/assets/jekyll-ebookreader-assets/reader.js +0 -98
- data/lib/jekyll/ebook_reader/version.rb +1 -1
- metadata +27 -12
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e361e553631b855b813f001eb2d58d78bfb8c5752042a9316ea850146941b60d
|
4
|
+
data.tar.gz: 82bd977ff5b759642f7e599f32f299b6e235641196226c97fd2ce11ea716e99b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d52f0daa15ee8d4f89e6170eb61761d0b98d913fa5fe0489e41eda0d62f5d097968e0c5b53d31ebb2cb23551cd4b484b4ecd9c467ab3e828304a7e037d45fc3d
|
7
|
+
data.tar.gz: d715edc681a9abac59d4e6291824ef3fb21071cc7a2b00e23e24db64321c62d35e8521b075f8299ea55d6328f987d79e6b6febfaddeb1da131f4430680d74175
|
data/.gitignore
CHANGED
data/Gemfile.lock
ADDED
@@ -0,0 +1,100 @@
|
|
1
|
+
PATH
|
2
|
+
remote: .
|
3
|
+
specs:
|
4
|
+
jekyll-ebook_reader (0.1.1)
|
5
|
+
fileutils (>= 1.1.0, <= 1.5.0)
|
6
|
+
jekyll (>= 3.0, < 5.0)
|
7
|
+
|
8
|
+
GEM
|
9
|
+
remote: https://rubygems.org/
|
10
|
+
specs:
|
11
|
+
addressable (2.7.0)
|
12
|
+
public_suffix (>= 2.0.2, < 5.0)
|
13
|
+
ast (2.4.2)
|
14
|
+
colorator (1.1.0)
|
15
|
+
concurrent-ruby (1.1.8)
|
16
|
+
em-websocket (0.5.2)
|
17
|
+
eventmachine (>= 0.12.9)
|
18
|
+
http_parser.rb (~> 0.6.0)
|
19
|
+
eventmachine (1.2.7)
|
20
|
+
ffi (1.14.2)
|
21
|
+
fileutils (1.5.0)
|
22
|
+
forwardable-extended (2.6.0)
|
23
|
+
http_parser.rb (0.6.0)
|
24
|
+
i18n (1.8.9)
|
25
|
+
concurrent-ruby (~> 1.0)
|
26
|
+
jekyll (4.2.0)
|
27
|
+
addressable (~> 2.4)
|
28
|
+
colorator (~> 1.0)
|
29
|
+
em-websocket (~> 0.5)
|
30
|
+
i18n (~> 1.0)
|
31
|
+
jekyll-sass-converter (~> 2.0)
|
32
|
+
jekyll-watch (~> 2.0)
|
33
|
+
kramdown (~> 2.3)
|
34
|
+
kramdown-parser-gfm (~> 1.0)
|
35
|
+
liquid (~> 4.0)
|
36
|
+
mercenary (~> 0.4.0)
|
37
|
+
pathutil (~> 0.9)
|
38
|
+
rouge (~> 3.0)
|
39
|
+
safe_yaml (~> 1.0)
|
40
|
+
terminal-table (~> 2.0)
|
41
|
+
jekyll-sass-converter (2.1.0)
|
42
|
+
sassc (> 2.0.1, < 3.0)
|
43
|
+
jekyll-watch (2.2.1)
|
44
|
+
listen (~> 3.0)
|
45
|
+
kramdown (2.3.0)
|
46
|
+
rexml
|
47
|
+
kramdown-parser-gfm (1.1.0)
|
48
|
+
kramdown (~> 2.0)
|
49
|
+
liquid (4.0.3)
|
50
|
+
listen (3.4.1)
|
51
|
+
rb-fsevent (~> 0.10, >= 0.10.3)
|
52
|
+
rb-inotify (~> 0.9, >= 0.9.10)
|
53
|
+
mercenary (0.4.0)
|
54
|
+
parallel (1.20.1)
|
55
|
+
parser (3.0.0.0)
|
56
|
+
ast (~> 2.4.1)
|
57
|
+
pathutil (0.16.2)
|
58
|
+
forwardable-extended (~> 2.6)
|
59
|
+
public_suffix (4.0.6)
|
60
|
+
rainbow (3.0.0)
|
61
|
+
rake (13.0.3)
|
62
|
+
rb-fsevent (0.10.4)
|
63
|
+
rb-inotify (0.10.1)
|
64
|
+
ffi (~> 1.0)
|
65
|
+
regexp_parser (2.0.3)
|
66
|
+
rexml (3.2.4)
|
67
|
+
rouge (3.26.0)
|
68
|
+
rubocop (1.9.1)
|
69
|
+
parallel (~> 1.10)
|
70
|
+
parser (>= 3.0.0.0)
|
71
|
+
rainbow (>= 2.2.2, < 4.0)
|
72
|
+
regexp_parser (>= 1.8, < 3.0)
|
73
|
+
rexml
|
74
|
+
rubocop-ast (>= 1.2.0, < 2.0)
|
75
|
+
ruby-progressbar (~> 1.7)
|
76
|
+
unicode-display_width (>= 1.4.0, < 3.0)
|
77
|
+
rubocop-ast (1.4.1)
|
78
|
+
parser (>= 2.7.1.5)
|
79
|
+
rubocop-rake (0.5.1)
|
80
|
+
rubocop
|
81
|
+
ruby-progressbar (1.11.0)
|
82
|
+
safe_yaml (1.0.5)
|
83
|
+
sassc (2.4.0)
|
84
|
+
ffi (~> 1.9)
|
85
|
+
terminal-table (2.0.0)
|
86
|
+
unicode-display_width (~> 1.1, >= 1.1.1)
|
87
|
+
unicode-display_width (1.7.0)
|
88
|
+
|
89
|
+
PLATFORMS
|
90
|
+
x86_64-darwin-18
|
91
|
+
|
92
|
+
DEPENDENCIES
|
93
|
+
bundler
|
94
|
+
jekyll-ebook_reader!
|
95
|
+
rake (~> 13.0)
|
96
|
+
rubocop (~> 1.7)
|
97
|
+
rubocop-rake
|
98
|
+
|
99
|
+
BUNDLED WITH
|
100
|
+
2.2.9
|
data/README.md
CHANGED
@@ -1,8 +1,9 @@
|
|
1
|
-
# Jekyll
|
1
|
+
# Jekyll-EbookReader
|
2
2
|
|
3
|
-
|
3
|
+
This plugin allows you to embed eBooks in your site on any page or post!
|
4
|
+
|
5
|
+
It uses [EPUB.js](http://futurepress.org/) to do so.
|
4
6
|
|
5
|
-
TODO: Delete this and the text above, and describe your gem
|
6
7
|
|
7
8
|
## Installation
|
8
9
|
|
@@ -22,7 +23,30 @@ Or install it yourself as:
|
|
22
23
|
|
23
24
|
## Usage
|
24
25
|
|
25
|
-
|
26
|
+
To embed a book on a page/post:
|
27
|
+
1. Add your ebook file to your `/assets` folder. Take note of the path to your book, starting at the base of your site. (E.g. it may be '/assets/myBook.epub', or if you put it inside an "ebooks" subfolder, it might be 'assets/ebooks/myBook.epub'.)
|
28
|
+
2. Go to the page you want to embed it on and
|
29
|
+
a. add an 'ebook_path' variable to your front matter.
|
30
|
+
b. add an `{% ebook %}` tag wherever you'd like the book to appear.
|
31
|
+
That's it!
|
32
|
+
|
33
|
+
For example, if you wanted to embed Moby Dick on a page, you could add MobyDick.epub to your assets folder, and then make a page that looks like this:
|
34
|
+
|
35
|
+
```
|
36
|
+
---
|
37
|
+
layout: default
|
38
|
+
title: "EbookExample"
|
39
|
+
date: 2021-02-12 15:01:30 -0500
|
40
|
+
ebook_path: "/assets/MobyDick.epub"
|
41
|
+
---
|
42
|
+
|
43
|
+
Gosh this is my favorite book!!
|
44
|
+
|
45
|
+
{% ebook %}
|
46
|
+
|
47
|
+
```
|
48
|
+
|
49
|
+
|
26
50
|
|
27
51
|
## Development
|
28
52
|
|
@@ -32,7 +56,7 @@ To install this gem onto your local machine, run `bundle exec rake install`. To
|
|
32
56
|
|
33
57
|
## Contributing
|
34
58
|
|
35
|
-
Bug reports and pull requests are welcome on GitHub at https://github.com/
|
59
|
+
Bug reports and pull requests are welcome on GitHub at https://github.com/qbatten/jekyll-ebook_reader.
|
36
60
|
|
37
61
|
## License
|
38
62
|
|
data/Rakefile
CHANGED
data/jekyll-ebook_reader.gemspec
CHANGED
@@ -27,8 +27,9 @@ Gem::Specification.new do |spec|
|
|
27
27
|
spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
|
28
28
|
spec.require_paths = ["lib"]
|
29
29
|
|
30
|
-
spec.add_dependency "jekyll", ">= 3.0", "< 5.0"
|
31
30
|
spec.add_dependency "fileutils", ">= 1.1.0", "<= 1.5.0"
|
31
|
+
spec.add_dependency "jekyll", ">= 3.0", "< 5.0"
|
32
32
|
|
33
33
|
spec.add_development_dependency "bundler"
|
34
|
+
spec.add_development_dependency "rubocop-rake"
|
34
35
|
end
|
data/lib/jekyll/ebook_reader.rb
CHANGED
@@ -1,19 +1,20 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require "fileutils"
|
2
4
|
require "jekyll"
|
3
5
|
|
4
|
-
|
5
6
|
module Jekyll
|
6
7
|
module EbookReader
|
8
|
+
# Generates static files
|
7
9
|
class EbookEmbed < Jekyll::Generator
|
8
10
|
safe false
|
9
11
|
priority :low
|
10
12
|
def generate(site)
|
11
13
|
@site = site
|
12
14
|
@site = site.static_files += add_all_static_files
|
13
|
-
|
14
15
|
end
|
15
16
|
|
16
|
-
private
|
17
|
+
private
|
17
18
|
|
18
19
|
# Destination for sitemap.xml file within the site source directory
|
19
20
|
def destination_path(file)
|
@@ -21,24 +22,24 @@ module Jekyll
|
|
21
22
|
end
|
22
23
|
|
23
24
|
def static_files_to_include
|
24
|
-
["reader.js"
|
25
|
+
["reader.js", "ebookreader_main.css", "ebookreader_iframe.css", "ajax-loader.gif"]
|
25
26
|
end
|
26
27
|
|
27
28
|
def add_all_static_files
|
28
29
|
files ||= []
|
29
30
|
static_files_to_include.each do |file_name|
|
30
|
-
incl = Jekyll::StaticFile.new(@site, File.join(
|
31
|
+
incl = Jekyll::StaticFile.new(@site, File.join(File.dirname(__FILE__), "ebook_reader"),
|
32
|
+
"assets/jekyll-ebookreader-assets", file_name)
|
31
33
|
incl.destination(destination_path(file_name))
|
32
34
|
files.append(incl)
|
33
35
|
end
|
34
36
|
files
|
35
37
|
end
|
36
38
|
end
|
37
|
-
|
38
39
|
end
|
39
40
|
end
|
40
41
|
|
41
|
-
|
42
|
+
# Adds relevant scripts and html tags to html body
|
42
43
|
class EBookReaderTag < Liquid::Tag
|
43
44
|
def initialize(tag_name, input, tokens)
|
44
45
|
super
|
@@ -46,21 +47,18 @@ class EBookReaderTag < Liquid::Tag
|
|
46
47
|
end
|
47
48
|
|
48
49
|
def render(context)
|
49
|
-
path = File.join(File.dirname(__FILE__),
|
50
|
+
path = File.join(File.dirname(__FILE__), "ebook_reader",
|
51
|
+
"assets/jekyll-ebookreader-assets/ebook_include_body_tag.html")
|
50
52
|
include_string = File.read(path)
|
51
|
-
|
52
|
-
return processed
|
53
|
+
Liquid::Template.parse(include_string).render(context)
|
53
54
|
end
|
54
55
|
end
|
55
56
|
|
56
|
-
|
57
|
+
# Add relevant scripts and style tags to doc head
|
57
58
|
Jekyll::Hooks.register [:pages, :posts], :post_render do |post|
|
58
|
-
path = File.join(File.dirname(__FILE__),
|
59
|
+
path = File.join(File.dirname(__FILE__), "ebook_reader", "assets/jekyll-ebookreader-assets/ebook_include_header.html")
|
59
60
|
include_string = File.read(path)
|
60
|
-
|
61
|
-
if post.data.has_key? ("ebook_path")
|
62
|
-
post.output = post.output.gsub("</head>", include_string + "</head>")
|
63
|
-
end
|
61
|
+
post.output = post.output.gsub("</head>", "#{include_string}</head>") if post.data.key?("ebook_path")
|
64
62
|
end
|
65
63
|
|
66
|
-
Liquid::Template.register_tag(
|
64
|
+
Liquid::Template.register_tag("ebook", EBookReaderTag)
|
@@ -1,42 +1,41 @@
|
|
1
1
|
<div id="ebook-includes">
|
2
2
|
<script type="text/javascript">
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
</a>
|
30
|
-
</div>
|
31
|
-
</div>
|
32
|
-
<div id="navigation">
|
33
|
-
<a id="closer">
|
34
|
-
<i class="material-icons">close</i>
|
3
|
+
let ebookPath = "{{page.ebook.ebook_path}}" || "{{page.ebook_path}}";
|
4
|
+
let style_path = "{{page.ebook_iframe_custom_stylesheet}}" || "/assets/jekyll-ebookreader-assets/ebookreader_iframe.css"
|
5
|
+
let eBookRenderOptions = {
|
6
|
+
flow: "scrolled-doc",
|
7
|
+
ignoreClass: "annotator-hl",
|
8
|
+
width: "100%",
|
9
|
+
height: "100%",
|
10
|
+
stylesheet: style_path
|
11
|
+
}
|
12
|
+
document.addEventListener(
|
13
|
+
'DOMContentLoaded',
|
14
|
+
() => launchEpubJS(ebookPath, eBookRenderOptions),
|
15
|
+
false);
|
16
|
+
</script>
|
17
|
+
<a id="opener">
|
18
|
+
<i class="material-icons">menu</i>
|
19
|
+
</a>
|
20
|
+
<div id="ebook-main">
|
21
|
+
<div id="viewer" class="loading"></div>
|
22
|
+
<span id="hiddenTitle"></span>
|
23
|
+
<div id="bottom-nav-arrows">
|
24
|
+
<a id="prev" href="#prev" class="arrow">
|
25
|
+
<i class="material-icons">chevron_left</i>
|
26
|
+
</a>
|
27
|
+
<a id="next" href="#next" class="arrow">
|
28
|
+
<i class="material-icons">chevron_right</i>
|
35
29
|
</a>
|
36
|
-
<h1 id="title">...</h1>
|
37
|
-
<image id="cover" width="150px" />
|
38
|
-
<h2 id="author">...</h2>
|
39
|
-
<ul id="toc"></ul>
|
40
30
|
</div>
|
41
31
|
</div>
|
32
|
+
<div id="navigation">
|
33
|
+
<a id="closer">
|
34
|
+
<i class="material-icons">close</i>
|
35
|
+
</a>
|
36
|
+
<h1 id="title">...</h1>
|
37
|
+
<image id="cover" width="150px" />
|
38
|
+
<h2 id="author">...</h2>
|
39
|
+
<ul id="toc"></ul>
|
40
|
+
</div>
|
42
41
|
</div>
|
@@ -204,102 +204,4 @@ function launchEpubJS(bookURL, bookRenderOptions) {
|
|
204
204
|
|
205
205
|
});
|
206
206
|
|
207
|
-
}
|
208
|
-
|
209
|
-
|
210
|
-
function wait(t) {
|
211
|
-
return new Promise(function(resolve) {
|
212
|
-
window.setTimeout(resolve, t)
|
213
|
-
});
|
214
|
-
}
|
215
|
-
|
216
|
-
function handleHypothesisChange(state) {
|
217
|
-
|
218
|
-
let epubjsStyleIfHypoOpen = `body.hypothesis-highlights-always-on { padding-left: 5px !important; }`
|
219
|
-
|
220
|
-
let main = document.querySelector('#ebook-main');
|
221
|
-
let hypoWasAlreadyOpen = main.classList.contains('hypoIsOpen');
|
222
|
-
let hypoSidebarDidChange = (
|
223
|
-
(hypoWasAlreadyOpen && !state.expanded)
|
224
|
-
|| (!hypoWasAlreadyOpen && state.expanded));
|
225
|
-
if (hypoSidebarDidChange) {
|
226
|
-
// Wait until epub.js iframe is loaded
|
227
|
-
if (!document.querySelector('div.epub-view iframe')) {
|
228
|
-
wait(1500)
|
229
|
-
.then(
|
230
|
-
(a) => {
|
231
|
-
console.log('waiting...', a);
|
232
|
-
resizeReflowAndScroll();
|
233
|
-
}
|
234
|
-
);
|
235
|
-
} else {
|
236
|
-
resizeReflowAndScroll();
|
237
|
-
}
|
238
|
-
} else {
|
239
|
-
return;
|
240
|
-
}
|
241
|
-
|
242
|
-
// Reflow txt to still be visible, scroll to maintain location
|
243
|
-
function resizeReflowAndScroll() {
|
244
|
-
console.log('reflowing...')
|
245
|
-
|
246
|
-
// Main window
|
247
|
-
let currScroll = scrollY;
|
248
|
-
let viewer = document.querySelector("#viewer");
|
249
|
-
let parsedRenditionWidthPct = Number.parseInt(rendition.settings.width) / 100;
|
250
|
-
|
251
|
-
// Hypothesis
|
252
|
-
let hypoSidebar = document.querySelector("hypothesis-sidebar")
|
253
|
-
.shadowRoot.querySelector('div.annotator-frame');
|
254
|
-
|
255
|
-
// epub.js iframe
|
256
|
-
let iframeEl = document.querySelector('iframe');
|
257
|
-
let iframePaddingElement = iframeEl.contentDocument.querySelector("#iframePaddingElement");
|
258
|
-
console.log(iframeEl, iframePaddingElement);
|
259
|
-
if (!iframePaddingElement) {
|
260
|
-
iframePaddingElement = document.createElement("style");
|
261
|
-
iframePaddingElement.id = "iframePaddingElement";
|
262
|
-
iframeEl.contentDocument.head.appendChild(iframePaddingElement);
|
263
|
-
}
|
264
|
-
console.log(iframeEl, iframePaddingElement);
|
265
|
-
|
266
|
-
let bodyEl = iframeEl.contentDocument.body;
|
267
|
-
let currBodyPadding = [Number.parseInt(bodyEl.style.paddingLeft),
|
268
|
-
Number.parseInt(bodyEl.style.paddingRight)
|
269
|
-
];
|
270
|
-
|
271
|
-
// If hypothesis expanded (this fn is only called if it was a real sidebar open/close)
|
272
|
-
if (state.expanded) {
|
273
|
-
main.classList.add('hypoIsOpen');
|
274
|
-
|
275
|
-
// Inject reduced padding styling to epub iframe
|
276
|
-
iframePaddingElement.textContent = epubjsStyleIfHypoOpen;
|
277
|
-
|
278
|
-
// Calculate new size
|
279
|
-
let rectViewer = viewer.getBoundingClientRect();
|
280
|
-
let rectHypo = hypoSidebar.getBoundingClientRect();
|
281
|
-
let spaceNeeded = Number.parseFloat(rectViewer.right - (rectHypo.left - rectHypo.width));
|
282
|
-
let pct = spaceNeeded / Number.parseFloat(rectViewer.width);
|
283
|
-
pct = (1 - pct) * 100;
|
284
|
-
pct = Number.parseInt(pct).toString();
|
285
|
-
pct = pct + '%';
|
286
|
-
console.log('resizeDetails', {pct, spaceNeeded, rectHypo, rectViewer});
|
287
|
-
rendition.resize(pct);
|
288
|
-
|
289
|
-
let scrollNew = currScroll + 0.262 * currScroll;
|
290
|
-
wait(300).then(() => scrollTo({ 'top': scrollNew }));
|
291
|
-
|
292
|
-
} else if ((state.expanded === false)) {
|
293
|
-
rendition.resize("100%");
|
294
|
-
main.classList.remove("hypoIsOpen");
|
295
|
-
iframePaddingElement.textContent = "";
|
296
|
-
|
297
|
-
let scrollNew = currScroll / 1.262;
|
298
|
-
wait(300)
|
299
|
-
.then(() => scrollTo({ 'top': scrollNew }));
|
300
|
-
|
301
|
-
}
|
302
|
-
|
303
|
-
};
|
304
|
-
|
305
207
|
}
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jekyll-ebook_reader
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Quinn Batten
|
@@ -10,6 +10,26 @@ bindir: exe
|
|
10
10
|
cert_chain: []
|
11
11
|
date: 2021-02-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: fileutils
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 1.1.0
|
20
|
+
- - "<="
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: 1.5.0
|
23
|
+
type: :runtime
|
24
|
+
prerelease: false
|
25
|
+
version_requirements: !ruby/object:Gem::Requirement
|
26
|
+
requirements:
|
27
|
+
- - ">="
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: 1.1.0
|
30
|
+
- - "<="
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: 1.5.0
|
13
33
|
- !ruby/object:Gem::Dependency
|
14
34
|
name: jekyll
|
15
35
|
requirement: !ruby/object:Gem::Requirement
|
@@ -31,27 +51,21 @@ dependencies:
|
|
31
51
|
- !ruby/object:Gem::Version
|
32
52
|
version: '5.0'
|
33
53
|
- !ruby/object:Gem::Dependency
|
34
|
-
name:
|
54
|
+
name: bundler
|
35
55
|
requirement: !ruby/object:Gem::Requirement
|
36
56
|
requirements:
|
37
57
|
- - ">="
|
38
58
|
- !ruby/object:Gem::Version
|
39
|
-
version:
|
40
|
-
|
41
|
-
- !ruby/object:Gem::Version
|
42
|
-
version: 1.5.0
|
43
|
-
type: :runtime
|
59
|
+
version: '0'
|
60
|
+
type: :development
|
44
61
|
prerelease: false
|
45
62
|
version_requirements: !ruby/object:Gem::Requirement
|
46
63
|
requirements:
|
47
64
|
- - ">="
|
48
65
|
- !ruby/object:Gem::Version
|
49
|
-
version:
|
50
|
-
- - "<="
|
51
|
-
- !ruby/object:Gem::Version
|
52
|
-
version: 1.5.0
|
66
|
+
version: '0'
|
53
67
|
- !ruby/object:Gem::Dependency
|
54
|
-
name:
|
68
|
+
name: rubocop-rake
|
55
69
|
requirement: !ruby/object:Gem::Requirement
|
56
70
|
requirements:
|
57
71
|
- - ">="
|
@@ -76,6 +90,7 @@ files:
|
|
76
90
|
- ".rubocop.yml"
|
77
91
|
- CHANGELOG.md
|
78
92
|
- Gemfile
|
93
|
+
- Gemfile.lock
|
79
94
|
- LICENSE.txt
|
80
95
|
- README.md
|
81
96
|
- Rakefile
|