softcover 0.9.9 → 0.9.10
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.pull_requests/1395697365 +0 -0
- data/Gemfile +8 -0
- data/lib/softcover/book.rb +1 -1
- data/lib/softcover/book_manifest.rb +9 -4
- data/lib/softcover/builders/epub.rb +28 -9
- data/lib/softcover/builders/pdf.rb +1 -1
- data/lib/softcover/builders/preview.rb +25 -0
- data/lib/softcover/commands/check.rb +10 -2
- data/lib/softcover/template/config/book.yml.erb +2 -0
- data/lib/softcover/utils.rb +5 -1
- data/lib/softcover/version.rb +1 -1
- data/softcover.gemspec +2 -2
- metadata +147 -147
- data/lib/softcover/template/Preview.txt +0 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9e6eeed7020f2fc586daf6ea25063ecb42398ff4
|
4
|
+
data.tar.gz: b0c413809eb71625b8a75b0e548473abebf66065
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 152b9d3c927e070b5bab37b5679353d04c64d5c1143838e22a556b2b22e022780ab2b0b1cf9e17389b8ee9239dc61688723c3c1d6ff1a762b615771465c98c7e
|
7
|
+
data.tar.gz: 9ad5909394d3de83f7686602a6cdc09e1865635997729d20dba0226d43162f2a11012e0d5c4c8580d875500f9607223e6f2d6930935ca2ccda7e04c6ae8d31c5
|
File without changes
|
data/Gemfile
CHANGED
@@ -1,5 +1,13 @@
|
|
1
1
|
source 'https://rubygems.org'
|
2
|
+
|
3
|
+
# Include a bunch of language encoding settings.
|
2
4
|
LANG="en_US.UTF-8"
|
5
|
+
LC_COLLATE="en_US.UTF-8"
|
6
|
+
LC_CTYPE="en_US.UTF-8"
|
7
|
+
LC_MESSAGES="en_US.UTF-8"
|
8
|
+
LC_MONETARY="en_US.UTF-8"
|
9
|
+
LC_NUMERIC="en_US.UTF-8"
|
10
|
+
LC_TIME="en_US.UTF-8"
|
3
11
|
LC_ALL="en_US.UTF-8"
|
4
12
|
|
5
13
|
gemspec
|
data/lib/softcover/book.rb
CHANGED
@@ -59,7 +59,7 @@ class Softcover::Book
|
|
59
59
|
def files
|
60
60
|
# question: should we use `git ls-files` instead?
|
61
61
|
# TODO: only use pertinent files
|
62
|
-
paths = %w{html/*_fragment.html images/**/* ebooks/*}
|
62
|
+
paths = %w{html/*_fragment.html images/**/* ebooks/* config/*}
|
63
63
|
Dir[*paths].reject { |path| File.directory?(path) }.map do |path|
|
64
64
|
BookFile.new path
|
65
65
|
end
|
@@ -77,13 +77,12 @@ class Softcover::BookManifest < OpenStruct
|
|
77
77
|
end
|
78
78
|
|
79
79
|
TXT_PATH = 'Book.txt'
|
80
|
-
PREVIEW_PATH = 'Preview.txt'
|
81
80
|
YAML_PATH = File.join(Softcover::Directories::CONFIG, 'book.yml')
|
82
81
|
|
83
82
|
def initialize(options = {})
|
84
83
|
@source = options[:source] || :polytex
|
85
84
|
@origin = options[:origin]
|
86
|
-
@book_file =
|
85
|
+
@book_file = TXT_PATH
|
87
86
|
|
88
87
|
ensure_template_files
|
89
88
|
|
@@ -152,8 +151,7 @@ class Softcover::BookManifest < OpenStruct
|
|
152
151
|
path('latex_styles/custom_pdf.sty'),
|
153
152
|
path('config/preamble.tex'),
|
154
153
|
path('config/lang.yml'),
|
155
|
-
path('epub/OEBPS/styles/custom_epub.css')
|
156
|
-
path('Preview.txt')
|
154
|
+
path('epub/OEBPS/styles/custom_epub.css')
|
157
155
|
]
|
158
156
|
files.each do |file|
|
159
157
|
unless File.exist?(file)
|
@@ -278,6 +276,13 @@ class Softcover::BookManifest < OpenStruct
|
|
278
276
|
# code (maybe not a big problem on their system, but it would be a Bad Thing
|
279
277
|
# on a server).
|
280
278
|
def preview_chapter_range
|
279
|
+
unless respond_to?(:epub_mobi_preview_chapter_range)
|
280
|
+
$stderr.puts("Error: Preview not built")
|
281
|
+
$stderr.puts("Define epub_mobi_preview_chapter_range in config/book.yml")
|
282
|
+
$stderr.puts("See http://manual.softcover.io/book/getting_started#sec-build_preview")
|
283
|
+
exit(1)
|
284
|
+
end
|
285
|
+
|
281
286
|
first, last = epub_mobi_preview_chapter_range.split('..').map(&:to_i)
|
282
287
|
first..last
|
283
288
|
end
|
@@ -63,7 +63,7 @@ module Softcover
|
|
63
63
|
|
64
64
|
# Returns the chapters to write.
|
65
65
|
def chapters
|
66
|
-
manifest.chapters
|
66
|
+
preview? ? manifest.preview_chapters : manifest.chapters
|
67
67
|
end
|
68
68
|
|
69
69
|
# Writes the HTML for the EPUB.
|
@@ -83,7 +83,16 @@ module Softcover
|
|
83
83
|
File.open(target_filename, 'w') do |f|
|
84
84
|
content = File.read(path("html/#{chapter.fragment_name}"))
|
85
85
|
doc = strip_attributes(Nokogiri::HTML(content))
|
86
|
-
|
86
|
+
body = doc.at_css('body')
|
87
|
+
if body.nil?
|
88
|
+
$stderr.puts "\nError: Document not built due to empty chapter"
|
89
|
+
$stderr.puts "Chapters must include a title using the Markdown"
|
90
|
+
$stderr.puts " # This is a chapter"
|
91
|
+
$stderr.puts "or the LaTeX"
|
92
|
+
$stderr.puts " \\chapter{This is a chapter}"
|
93
|
+
exit(1)
|
94
|
+
end
|
95
|
+
inner_html = body.children.to_xhtml
|
87
96
|
if math?(inner_html)
|
88
97
|
html = html_with_math(chapter, images_dir, texmath_dir, pngs,
|
89
98
|
options)
|
@@ -241,12 +250,12 @@ module Softcover
|
|
241
250
|
# Make the EPUB, which is basically just a zipped HTML file.
|
242
251
|
def make_epub(options={})
|
243
252
|
filename = manifest.filename
|
244
|
-
|
245
|
-
base_file = "zip -X0
|
246
|
-
|
247
|
-
meta_info = "#{
|
248
|
-
main_info = "#{
|
249
|
-
rename = "mv #{
|
253
|
+
zfname = filename + '.zip'
|
254
|
+
base_file = "#{zip} -X0 #{zfname} mimetype"
|
255
|
+
fullzip = "#{zip} -rDXg9"
|
256
|
+
meta_info = "#{fullzip} #{zfname} META-INF -x \*.DS_Store -x mimetype"
|
257
|
+
main_info = "#{fullzip} #{zfname} OEBPS -x \*.DS_Store \*.gitkeep"
|
258
|
+
rename = "mv #{zfname} #{filename}.epub"
|
250
259
|
commands = [base_file, meta_info, main_info, rename]
|
251
260
|
command = commands.join(' && ')
|
252
261
|
Dir.chdir('epub') do
|
@@ -258,6 +267,10 @@ module Softcover
|
|
258
267
|
end
|
259
268
|
end
|
260
269
|
|
270
|
+
def zip
|
271
|
+
@zip ||= executable(dependency_filename(:zip))
|
272
|
+
end
|
273
|
+
|
261
274
|
# Move the completed EPUB book to the `ebooks` directory.
|
262
275
|
# Note that we handle the case of a preview book as well.
|
263
276
|
def move_epub
|
@@ -399,7 +412,8 @@ module Softcover
|
|
399
412
|
def nav_html
|
400
413
|
title = manifest.title
|
401
414
|
nav_list = manifest.chapters.map do |chapter|
|
402
|
-
|
415
|
+
element = preview? ? chapter.title : nav_link(chapter)
|
416
|
+
%(<li>#{element}</li>)
|
403
417
|
end
|
404
418
|
%(<?xml version="1.0" encoding="utf-8"?>
|
405
419
|
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:epub="http://www.idpf.org/2007/ops">
|
@@ -419,6 +433,11 @@ module Softcover
|
|
419
433
|
)
|
420
434
|
end
|
421
435
|
|
436
|
+
# Returns a navigation link for the chapter.
|
437
|
+
def nav_link(chapter)
|
438
|
+
%(<a href="#{chapter.fragment_name}">#{chapter.title}</a>)
|
439
|
+
end
|
440
|
+
|
422
441
|
# Returns the HTML template for a chapter.
|
423
442
|
def chapter_template(title, content)
|
424
443
|
%(<?xml version="1.0" encoding="utf-8"?>
|
@@ -6,8 +6,33 @@ module Softcover
|
|
6
6
|
# Recall that MOBI generation makes an EPUB as a side-effect.
|
7
7
|
Softcover::Builders::Mobi.new.build!(preview: true)
|
8
8
|
Softcover::Builders::Pdf.new.build!(preview: true)
|
9
|
+
extract_pdf_pages
|
9
10
|
end
|
10
11
|
|
12
|
+
private
|
13
|
+
|
14
|
+
# Extracts pages from the PDF using GhostScript.
|
15
|
+
# The page range is set by the `pdf_preview_page_range` parameter
|
16
|
+
# in book.yml so that authors can override the default range.
|
17
|
+
def extract_pdf_pages
|
18
|
+
input = File.join('ebooks', manifest.filename + '.pdf')
|
19
|
+
output = input.sub('.pdf', '-preview.pdf')
|
20
|
+
unless manifest.respond_to?(:pdf_preview_page_range)
|
21
|
+
$stderr.puts("Error: Preview not built")
|
22
|
+
$stderr.puts("Define pdf_preview_page_range in config/book.yml")
|
23
|
+
$stderr.puts("See http://manual.softcover.io/book/getting_started#sec-build_preview")
|
24
|
+
exit(1)
|
25
|
+
end
|
26
|
+
range = manifest.pdf_preview_page_range.split('..').map(&:to_i)
|
27
|
+
cmd = %(yes | #{ghostscript} -dBATCH -sOutputFile="#{output}")
|
28
|
+
cmd += %( -dFirstPage=#{range.first} -dLastPage=#{range.last})
|
29
|
+
cmd += %( -sDEVICE=pdfwrite "#{input}" > /dev/null)
|
30
|
+
execute cmd
|
31
|
+
end
|
32
|
+
|
33
|
+
def ghostscript
|
34
|
+
@ghostscript ||= executable(dependency_filename(:ghostscript))
|
35
|
+
end
|
11
36
|
end
|
12
37
|
end
|
13
38
|
end
|
@@ -34,6 +34,7 @@ module Softcover
|
|
34
34
|
|
35
35
|
def dependencies
|
36
36
|
[[:latex, 'LaTeX'],
|
37
|
+
[:ghostscript, 'GhostScript'],
|
37
38
|
[:convert, 'ImageMagick'],
|
38
39
|
[:node, 'Node.js'],
|
39
40
|
[:phantomjs, 'PhantomJS'],
|
@@ -41,6 +42,7 @@ module Softcover
|
|
41
42
|
[:calibre, 'Calibre'],
|
42
43
|
[:kindlegen, 'KindleGen'],
|
43
44
|
[:java, 'Java'],
|
45
|
+
[:zip, 'zip'],
|
44
46
|
[:epubcheck, 'EpubCheck'],
|
45
47
|
]
|
46
48
|
end
|
@@ -58,6 +60,8 @@ module Softcover
|
|
58
60
|
when :latex
|
59
61
|
message = "LaTeX (http://latex-project.org/ftp.html)\n"
|
60
62
|
message += " ∟ Huge download—start it now!"
|
63
|
+
when :ghostscript
|
64
|
+
message = "GhostScript (should come with LaTeX)\n"
|
61
65
|
when :convert
|
62
66
|
"ImageMagick (http://www.imagemagick.org/script/binary-releases.php)"
|
63
67
|
when :node
|
@@ -66,7 +70,9 @@ module Softcover
|
|
66
70
|
"PhantomJS (http://phantomjs.org/)"
|
67
71
|
when :kindlegen
|
68
72
|
url = 'http://www.amazon.com/gp/feature.html?ie=UTF8&docId=1000765211'
|
69
|
-
"KindleGen (#{url})"
|
73
|
+
message = "KindleGen (#{url})\n"
|
74
|
+
message += " ∟ Put the kindlegen executable on your path, "
|
75
|
+
message += "e.g., in /usr/local/bin"
|
70
76
|
when :calibre
|
71
77
|
url = 'http://calibre-ebook.com/'
|
72
78
|
message = "Calibre (#{url})\n"
|
@@ -75,11 +81,13 @@ module Softcover
|
|
75
81
|
when :java
|
76
82
|
url = 'http://www.java.com/en/download/help/index_installing.xml'
|
77
83
|
"Java (#{url})"
|
84
|
+
when :zip
|
85
|
+
"Install zip (e.g., apt-get install zip)"
|
78
86
|
when :epubcheck
|
79
87
|
url = 'https://github.com/IDPF/epubcheck/releases/'
|
80
88
|
url += 'download/v3.0/epubcheck-3.0.zip'
|
81
89
|
message = "EpubCheck 3.0 (#{url})\n"
|
82
|
-
message += " ∟ Unzip
|
90
|
+
message += " ∟ Unzip and put epubcheck-3.0/ in $HOME/bin"
|
83
91
|
when :inkscape
|
84
92
|
message = "Inkscape (http://inkscape.org/)"
|
85
93
|
else
|
data/lib/softcover/utils.rb
CHANGED
@@ -238,6 +238,8 @@ module Softcover::Utils
|
|
238
238
|
case label
|
239
239
|
when :latex
|
240
240
|
`which xelatex`.chomp
|
241
|
+
when :ghostscript
|
242
|
+
`which gs`.chomp
|
241
243
|
when :convert
|
242
244
|
`which convert`.chomp
|
243
245
|
when :node
|
@@ -248,10 +250,12 @@ module Softcover::Utils
|
|
248
250
|
`which kindlegen`.chomp
|
249
251
|
when :java
|
250
252
|
`which java`.chomp
|
253
|
+
when :zip
|
254
|
+
`which zip`.chomp
|
251
255
|
when :calibre
|
252
256
|
`which ebook-convert`.chomp
|
253
257
|
when :epubcheck
|
254
|
-
File.join(Dir.home, 'epubcheck-3.0', 'epubcheck-3.0.jar')
|
258
|
+
File.join(Dir.home, 'bin', 'epubcheck-3.0', 'epubcheck-3.0.jar')
|
255
259
|
when :inkscape
|
256
260
|
filename = `which inkscape`.chomp
|
257
261
|
if filename.empty?
|
data/lib/softcover/version.rb
CHANGED
data/softcover.gemspec
CHANGED
@@ -18,14 +18,14 @@ Gem::Specification.new do |gem|
|
|
18
18
|
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
19
19
|
gem.require_paths = ["lib"]
|
20
20
|
|
21
|
-
gem.add_dependency 'polytexnic', '~> 0.9.
|
21
|
+
gem.add_dependency 'polytexnic', '~> 0.9.3'
|
22
22
|
gem.add_dependency 'msgpack', '~> 0.4.2'
|
23
23
|
gem.add_dependency 'nokogiri', '~> 1.6.0'
|
24
24
|
gem.add_dependency 'thor', '~> 0.18.1'
|
25
25
|
gem.add_dependency 'activesupport', '~> 3.2.16'
|
26
26
|
gem.add_dependency 'rest-client', '~> 1.6.7'
|
27
27
|
gem.add_dependency 'curb', '~> 0.8.5'
|
28
|
-
gem.add_dependency 'ruby-progressbar', '~> 1.4.
|
28
|
+
gem.add_dependency 'ruby-progressbar', '~> 1.4.2'
|
29
29
|
gem.add_dependency 'maruku', '~> 0.7.1'
|
30
30
|
gem.add_dependency 'pygments.rb', '~> 0.4.2'
|
31
31
|
gem.add_dependency 'kramdown', '~> 1.3.2'
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: softcover
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
4
|
+
version: 0.9.10
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Michael Hartl
|
@@ -9,272 +9,272 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2014-03-
|
12
|
+
date: 2014-03-25 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: polytexnic
|
16
16
|
requirement: !ruby/object:Gem::Requirement
|
17
17
|
requirements:
|
18
|
-
- -
|
18
|
+
- - ~>
|
19
19
|
- !ruby/object:Gem::Version
|
20
|
-
version: 0.9.
|
20
|
+
version: 0.9.3
|
21
21
|
type: :runtime
|
22
22
|
prerelease: false
|
23
23
|
version_requirements: !ruby/object:Gem::Requirement
|
24
24
|
requirements:
|
25
|
-
- -
|
25
|
+
- - ~>
|
26
26
|
- !ruby/object:Gem::Version
|
27
|
-
version: 0.9.
|
27
|
+
version: 0.9.3
|
28
28
|
- !ruby/object:Gem::Dependency
|
29
29
|
name: msgpack
|
30
30
|
requirement: !ruby/object:Gem::Requirement
|
31
31
|
requirements:
|
32
|
-
- -
|
32
|
+
- - ~>
|
33
33
|
- !ruby/object:Gem::Version
|
34
34
|
version: 0.4.2
|
35
35
|
type: :runtime
|
36
36
|
prerelease: false
|
37
37
|
version_requirements: !ruby/object:Gem::Requirement
|
38
38
|
requirements:
|
39
|
-
- -
|
39
|
+
- - ~>
|
40
40
|
- !ruby/object:Gem::Version
|
41
41
|
version: 0.4.2
|
42
42
|
- !ruby/object:Gem::Dependency
|
43
43
|
name: nokogiri
|
44
44
|
requirement: !ruby/object:Gem::Requirement
|
45
45
|
requirements:
|
46
|
-
- -
|
46
|
+
- - ~>
|
47
47
|
- !ruby/object:Gem::Version
|
48
48
|
version: 1.6.0
|
49
49
|
type: :runtime
|
50
50
|
prerelease: false
|
51
51
|
version_requirements: !ruby/object:Gem::Requirement
|
52
52
|
requirements:
|
53
|
-
- -
|
53
|
+
- - ~>
|
54
54
|
- !ruby/object:Gem::Version
|
55
55
|
version: 1.6.0
|
56
56
|
- !ruby/object:Gem::Dependency
|
57
57
|
name: thor
|
58
58
|
requirement: !ruby/object:Gem::Requirement
|
59
59
|
requirements:
|
60
|
-
- -
|
60
|
+
- - ~>
|
61
61
|
- !ruby/object:Gem::Version
|
62
62
|
version: 0.18.1
|
63
63
|
type: :runtime
|
64
64
|
prerelease: false
|
65
65
|
version_requirements: !ruby/object:Gem::Requirement
|
66
66
|
requirements:
|
67
|
-
- -
|
67
|
+
- - ~>
|
68
68
|
- !ruby/object:Gem::Version
|
69
69
|
version: 0.18.1
|
70
70
|
- !ruby/object:Gem::Dependency
|
71
71
|
name: activesupport
|
72
72
|
requirement: !ruby/object:Gem::Requirement
|
73
73
|
requirements:
|
74
|
-
- -
|
74
|
+
- - ~>
|
75
75
|
- !ruby/object:Gem::Version
|
76
76
|
version: 3.2.16
|
77
77
|
type: :runtime
|
78
78
|
prerelease: false
|
79
79
|
version_requirements: !ruby/object:Gem::Requirement
|
80
80
|
requirements:
|
81
|
-
- -
|
81
|
+
- - ~>
|
82
82
|
- !ruby/object:Gem::Version
|
83
83
|
version: 3.2.16
|
84
84
|
- !ruby/object:Gem::Dependency
|
85
85
|
name: rest-client
|
86
86
|
requirement: !ruby/object:Gem::Requirement
|
87
87
|
requirements:
|
88
|
-
- -
|
88
|
+
- - ~>
|
89
89
|
- !ruby/object:Gem::Version
|
90
90
|
version: 1.6.7
|
91
91
|
type: :runtime
|
92
92
|
prerelease: false
|
93
93
|
version_requirements: !ruby/object:Gem::Requirement
|
94
94
|
requirements:
|
95
|
-
- -
|
95
|
+
- - ~>
|
96
96
|
- !ruby/object:Gem::Version
|
97
97
|
version: 1.6.7
|
98
98
|
- !ruby/object:Gem::Dependency
|
99
99
|
name: curb
|
100
100
|
requirement: !ruby/object:Gem::Requirement
|
101
101
|
requirements:
|
102
|
-
- -
|
102
|
+
- - ~>
|
103
103
|
- !ruby/object:Gem::Version
|
104
104
|
version: 0.8.5
|
105
105
|
type: :runtime
|
106
106
|
prerelease: false
|
107
107
|
version_requirements: !ruby/object:Gem::Requirement
|
108
108
|
requirements:
|
109
|
-
- -
|
109
|
+
- - ~>
|
110
110
|
- !ruby/object:Gem::Version
|
111
111
|
version: 0.8.5
|
112
112
|
- !ruby/object:Gem::Dependency
|
113
113
|
name: ruby-progressbar
|
114
114
|
requirement: !ruby/object:Gem::Requirement
|
115
115
|
requirements:
|
116
|
-
- -
|
116
|
+
- - ~>
|
117
117
|
- !ruby/object:Gem::Version
|
118
|
-
version: 1.4.
|
118
|
+
version: 1.4.2
|
119
119
|
type: :runtime
|
120
120
|
prerelease: false
|
121
121
|
version_requirements: !ruby/object:Gem::Requirement
|
122
122
|
requirements:
|
123
|
-
- -
|
123
|
+
- - ~>
|
124
124
|
- !ruby/object:Gem::Version
|
125
|
-
version: 1.4.
|
125
|
+
version: 1.4.2
|
126
126
|
- !ruby/object:Gem::Dependency
|
127
127
|
name: maruku
|
128
128
|
requirement: !ruby/object:Gem::Requirement
|
129
129
|
requirements:
|
130
|
-
- -
|
130
|
+
- - ~>
|
131
131
|
- !ruby/object:Gem::Version
|
132
132
|
version: 0.7.1
|
133
133
|
type: :runtime
|
134
134
|
prerelease: false
|
135
135
|
version_requirements: !ruby/object:Gem::Requirement
|
136
136
|
requirements:
|
137
|
-
- -
|
137
|
+
- - ~>
|
138
138
|
- !ruby/object:Gem::Version
|
139
139
|
version: 0.7.1
|
140
140
|
- !ruby/object:Gem::Dependency
|
141
141
|
name: pygments.rb
|
142
142
|
requirement: !ruby/object:Gem::Requirement
|
143
143
|
requirements:
|
144
|
-
- -
|
144
|
+
- - ~>
|
145
145
|
- !ruby/object:Gem::Version
|
146
146
|
version: 0.4.2
|
147
147
|
type: :runtime
|
148
148
|
prerelease: false
|
149
149
|
version_requirements: !ruby/object:Gem::Requirement
|
150
150
|
requirements:
|
151
|
-
- -
|
151
|
+
- - ~>
|
152
152
|
- !ruby/object:Gem::Version
|
153
153
|
version: 0.4.2
|
154
154
|
- !ruby/object:Gem::Dependency
|
155
155
|
name: kramdown
|
156
156
|
requirement: !ruby/object:Gem::Requirement
|
157
157
|
requirements:
|
158
|
-
- -
|
158
|
+
- - ~>
|
159
159
|
- !ruby/object:Gem::Version
|
160
160
|
version: 1.3.2
|
161
161
|
type: :runtime
|
162
162
|
prerelease: false
|
163
163
|
version_requirements: !ruby/object:Gem::Requirement
|
164
164
|
requirements:
|
165
|
-
- -
|
165
|
+
- - ~>
|
166
166
|
- !ruby/object:Gem::Version
|
167
167
|
version: 1.3.2
|
168
168
|
- !ruby/object:Gem::Dependency
|
169
169
|
name: sinatra
|
170
170
|
requirement: !ruby/object:Gem::Requirement
|
171
171
|
requirements:
|
172
|
-
- -
|
172
|
+
- - ~>
|
173
173
|
- !ruby/object:Gem::Version
|
174
174
|
version: 1.4.4
|
175
175
|
type: :runtime
|
176
176
|
prerelease: false
|
177
177
|
version_requirements: !ruby/object:Gem::Requirement
|
178
178
|
requirements:
|
179
|
-
- -
|
179
|
+
- - ~>
|
180
180
|
- !ruby/object:Gem::Version
|
181
181
|
version: 1.4.4
|
182
182
|
- !ruby/object:Gem::Dependency
|
183
183
|
name: thin
|
184
184
|
requirement: !ruby/object:Gem::Requirement
|
185
185
|
requirements:
|
186
|
-
- -
|
186
|
+
- - ~>
|
187
187
|
- !ruby/object:Gem::Version
|
188
188
|
version: 1.6.1
|
189
189
|
type: :runtime
|
190
190
|
prerelease: false
|
191
191
|
version_requirements: !ruby/object:Gem::Requirement
|
192
192
|
requirements:
|
193
|
-
- -
|
193
|
+
- - ~>
|
194
194
|
- !ruby/object:Gem::Version
|
195
195
|
version: 1.6.1
|
196
196
|
- !ruby/object:Gem::Dependency
|
197
197
|
name: async_sinatra
|
198
198
|
requirement: !ruby/object:Gem::Requirement
|
199
199
|
requirements:
|
200
|
-
- -
|
200
|
+
- - ~>
|
201
201
|
- !ruby/object:Gem::Version
|
202
202
|
version: 1.1.0
|
203
203
|
type: :runtime
|
204
204
|
prerelease: false
|
205
205
|
version_requirements: !ruby/object:Gem::Requirement
|
206
206
|
requirements:
|
207
|
-
- -
|
207
|
+
- - ~>
|
208
208
|
- !ruby/object:Gem::Version
|
209
209
|
version: 1.1.0
|
210
210
|
- !ruby/object:Gem::Dependency
|
211
211
|
name: sinatra-respond_to
|
212
212
|
requirement: !ruby/object:Gem::Requirement
|
213
213
|
requirements:
|
214
|
-
- -
|
214
|
+
- - ~>
|
215
215
|
- !ruby/object:Gem::Version
|
216
216
|
version: 0.9.0
|
217
217
|
type: :runtime
|
218
218
|
prerelease: false
|
219
219
|
version_requirements: !ruby/object:Gem::Requirement
|
220
220
|
requirements:
|
221
|
-
- -
|
221
|
+
- - ~>
|
222
222
|
- !ruby/object:Gem::Version
|
223
223
|
version: 0.9.0
|
224
224
|
- !ruby/object:Gem::Dependency
|
225
225
|
name: coffee-script
|
226
226
|
requirement: !ruby/object:Gem::Requirement
|
227
227
|
requirements:
|
228
|
-
- -
|
228
|
+
- - ~>
|
229
229
|
- !ruby/object:Gem::Version
|
230
230
|
version: 2.2.0
|
231
231
|
type: :runtime
|
232
232
|
prerelease: false
|
233
233
|
version_requirements: !ruby/object:Gem::Requirement
|
234
234
|
requirements:
|
235
|
-
- -
|
235
|
+
- - ~>
|
236
236
|
- !ruby/object:Gem::Version
|
237
237
|
version: 2.2.0
|
238
238
|
- !ruby/object:Gem::Dependency
|
239
239
|
name: listen
|
240
240
|
requirement: !ruby/object:Gem::Requirement
|
241
241
|
requirements:
|
242
|
-
- -
|
242
|
+
- - ~>
|
243
243
|
- !ruby/object:Gem::Version
|
244
244
|
version: 1.3.1
|
245
245
|
type: :runtime
|
246
246
|
prerelease: false
|
247
247
|
version_requirements: !ruby/object:Gem::Requirement
|
248
248
|
requirements:
|
249
|
-
- -
|
249
|
+
- - ~>
|
250
250
|
- !ruby/object:Gem::Version
|
251
251
|
version: 1.3.1
|
252
252
|
- !ruby/object:Gem::Dependency
|
253
253
|
name: rb-fsevent
|
254
254
|
requirement: !ruby/object:Gem::Requirement
|
255
255
|
requirements:
|
256
|
-
- -
|
256
|
+
- - ~>
|
257
257
|
- !ruby/object:Gem::Version
|
258
258
|
version: 0.9.3
|
259
259
|
type: :runtime
|
260
260
|
prerelease: false
|
261
261
|
version_requirements: !ruby/object:Gem::Requirement
|
262
262
|
requirements:
|
263
|
-
- -
|
263
|
+
- - ~>
|
264
264
|
- !ruby/object:Gem::Version
|
265
265
|
version: 0.9.3
|
266
266
|
- !ruby/object:Gem::Dependency
|
267
267
|
name: sanitize
|
268
268
|
requirement: !ruby/object:Gem::Requirement
|
269
269
|
requirements:
|
270
|
-
- -
|
270
|
+
- - ~>
|
271
271
|
- !ruby/object:Gem::Version
|
272
272
|
version: 2.0.6
|
273
273
|
type: :runtime
|
274
274
|
prerelease: false
|
275
275
|
version_requirements: !ruby/object:Gem::Requirement
|
276
276
|
requirements:
|
277
|
-
- -
|
277
|
+
- - ~>
|
278
278
|
- !ruby/object:Gem::Version
|
279
279
|
version: 2.0.6
|
280
280
|
description: CLI interface for softcover.io
|
@@ -286,105 +286,106 @@ executables:
|
|
286
286
|
extensions: []
|
287
287
|
extra_rdoc_files: []
|
288
288
|
files:
|
289
|
-
-
|
290
|
-
-
|
291
|
-
-
|
292
|
-
-
|
293
|
-
-
|
294
|
-
-
|
295
|
-
-
|
296
|
-
-
|
297
|
-
-
|
298
|
-
-
|
299
|
-
-
|
300
|
-
-
|
301
|
-
-
|
302
|
-
-
|
303
|
-
-
|
304
|
-
-
|
305
|
-
-
|
306
|
-
-
|
307
|
-
-
|
308
|
-
-
|
309
|
-
-
|
310
|
-
-
|
311
|
-
-
|
312
|
-
-
|
313
|
-
-
|
314
|
-
-
|
315
|
-
-
|
316
|
-
-
|
317
|
-
-
|
318
|
-
-
|
319
|
-
-
|
320
|
-
-
|
321
|
-
-
|
322
|
-
-
|
323
|
-
-
|
324
|
-
-
|
325
|
-
-
|
326
|
-
-
|
327
|
-
-
|
328
|
-
-
|
329
|
-
-
|
330
|
-
-
|
331
|
-
-
|
332
|
-
-
|
333
|
-
-
|
334
|
-
-
|
335
|
-
-
|
336
|
-
-
|
337
|
-
-
|
338
|
-
-
|
339
|
-
-
|
340
|
-
-
|
341
|
-
-
|
342
|
-
-
|
343
|
-
-
|
344
|
-
-
|
345
|
-
-
|
346
|
-
-
|
347
|
-
-
|
348
|
-
-
|
349
|
-
-
|
350
|
-
-
|
351
|
-
-
|
352
|
-
-
|
353
|
-
-
|
354
|
-
-
|
355
|
-
-
|
356
|
-
-
|
357
|
-
-
|
358
|
-
-
|
359
|
-
-
|
360
|
-
-
|
361
|
-
-
|
362
|
-
-
|
363
|
-
-
|
364
|
-
-
|
365
|
-
-
|
366
|
-
-
|
367
|
-
-
|
368
|
-
-
|
369
|
-
-
|
370
|
-
-
|
371
|
-
-
|
372
|
-
-
|
373
|
-
-
|
374
|
-
-
|
375
|
-
-
|
376
|
-
-
|
377
|
-
-
|
378
|
-
-
|
379
|
-
-
|
380
|
-
-
|
381
|
-
-
|
382
|
-
-
|
383
|
-
-
|
384
|
-
-
|
385
|
-
-
|
386
|
-
-
|
387
|
-
-
|
289
|
+
- .gitignore
|
290
|
+
- .pull_requests/1371777843
|
291
|
+
- .pull_requests/1371928784
|
292
|
+
- .pull_requests/1372807241
|
293
|
+
- .pull_requests/1374784202
|
294
|
+
- .pull_requests/1375325174
|
295
|
+
- .pull_requests/1375410822
|
296
|
+
- .pull_requests/1375469799
|
297
|
+
- .pull_requests/1375490251
|
298
|
+
- .pull_requests/1375493726
|
299
|
+
- .pull_requests/1375496302
|
300
|
+
- .pull_requests/1375496370
|
301
|
+
- .pull_requests/1375576640
|
302
|
+
- .pull_requests/1375841865
|
303
|
+
- .pull_requests/1376353301
|
304
|
+
- .pull_requests/1376358293
|
305
|
+
- .pull_requests/1376358392
|
306
|
+
- .pull_requests/1376451118
|
307
|
+
- .pull_requests/1376508357
|
308
|
+
- .pull_requests/1376513848
|
309
|
+
- .pull_requests/1376626000
|
310
|
+
- .pull_requests/1376626358
|
311
|
+
- .pull_requests/1376694273
|
312
|
+
- .pull_requests/1376696608
|
313
|
+
- .pull_requests/1376701133
|
314
|
+
- .pull_requests/1376705147
|
315
|
+
- .pull_requests/1377192571
|
316
|
+
- .pull_requests/1377195255
|
317
|
+
- .pull_requests/1377227817
|
318
|
+
- .pull_requests/1378780517
|
319
|
+
- .pull_requests/1379022091
|
320
|
+
- .pull_requests/1379023124
|
321
|
+
- .pull_requests/1379355960
|
322
|
+
- .pull_requests/1379457178
|
323
|
+
- .pull_requests/1379471050
|
324
|
+
- .pull_requests/1379630778
|
325
|
+
- .pull_requests/1380079375
|
326
|
+
- .pull_requests/1380081971
|
327
|
+
- .pull_requests/1380222458
|
328
|
+
- .pull_requests/1380229616
|
329
|
+
- .pull_requests/1380321946
|
330
|
+
- .pull_requests/1380587638
|
331
|
+
- .pull_requests/1380673383
|
332
|
+
- .pull_requests/1380675541
|
333
|
+
- .pull_requests/1380676529
|
334
|
+
- .pull_requests/1380944160
|
335
|
+
- .pull_requests/1381001404
|
336
|
+
- .pull_requests/1381001955
|
337
|
+
- .pull_requests/1381005206
|
338
|
+
- .pull_requests/1381103407
|
339
|
+
- .pull_requests/1381265319
|
340
|
+
- .pull_requests/1381276823
|
341
|
+
- .pull_requests/1381344368
|
342
|
+
- .pull_requests/1381385299
|
343
|
+
- .pull_requests/1381429963
|
344
|
+
- .pull_requests/1381532321
|
345
|
+
- .pull_requests/1381635684
|
346
|
+
- .pull_requests/1381875886
|
347
|
+
- .pull_requests/1382040914
|
348
|
+
- .pull_requests/1382056382
|
349
|
+
- .pull_requests/1382229425
|
350
|
+
- .pull_requests/1382501299
|
351
|
+
- .pull_requests/1382559045
|
352
|
+
- .pull_requests/1382569908
|
353
|
+
- .pull_requests/1382643470
|
354
|
+
- .pull_requests/1382660994
|
355
|
+
- .pull_requests/1382815660
|
356
|
+
- .pull_requests/1383162273
|
357
|
+
- .pull_requests/1383274302
|
358
|
+
- .pull_requests/1383274901
|
359
|
+
- .pull_requests/1383336387
|
360
|
+
- .pull_requests/1383420874
|
361
|
+
- .pull_requests/1383707748
|
362
|
+
- .pull_requests/1384207054
|
363
|
+
- .pull_requests/1384304643
|
364
|
+
- .pull_requests/1384447036
|
365
|
+
- .pull_requests/1384468478
|
366
|
+
- .pull_requests/1384801823
|
367
|
+
- .pull_requests/1385070261
|
368
|
+
- .pull_requests/1385518404
|
369
|
+
- .pull_requests/1385766008
|
370
|
+
- .pull_requests/1385778329
|
371
|
+
- .pull_requests/1385834422
|
372
|
+
- .pull_requests/1385835007
|
373
|
+
- .pull_requests/1385862948
|
374
|
+
- .pull_requests/1386099285
|
375
|
+
- .pull_requests/1386115582
|
376
|
+
- .pull_requests/1386448492
|
377
|
+
- .pull_requests/1387399930
|
378
|
+
- .pull_requests/1387400263
|
379
|
+
- .pull_requests/1387592428
|
380
|
+
- .pull_requests/1387944330
|
381
|
+
- .pull_requests/1388094706
|
382
|
+
- .pull_requests/1388441218
|
383
|
+
- .pull_requests/1388518194
|
384
|
+
- .pull_requests/1388713504
|
385
|
+
- .pull_requests/1388804598
|
386
|
+
- .pull_requests/1395697365
|
387
|
+
- .rspec
|
388
|
+
- .travis.yml
|
388
389
|
- Gemfile
|
389
390
|
- LICENSE.txt
|
390
391
|
- README.md
|
@@ -430,7 +431,6 @@ files:
|
|
430
431
|
- lib/softcover/template/.softcover-build
|
431
432
|
- lib/softcover/template/.softcover-deploy
|
432
433
|
- lib/softcover/template/Book.txt
|
433
|
-
- lib/softcover/template/Preview.txt
|
434
434
|
- lib/softcover/template/README.md
|
435
435
|
- lib/softcover/template/chapters/a_chapter.md
|
436
436
|
- lib/softcover/template/chapters/a_chapter.tex
|
@@ -1045,17 +1045,17 @@ require_paths:
|
|
1045
1045
|
- lib
|
1046
1046
|
required_ruby_version: !ruby/object:Gem::Requirement
|
1047
1047
|
requirements:
|
1048
|
-
- -
|
1048
|
+
- - '>='
|
1049
1049
|
- !ruby/object:Gem::Version
|
1050
1050
|
version: '0'
|
1051
1051
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
1052
1052
|
requirements:
|
1053
|
-
- -
|
1053
|
+
- - '>='
|
1054
1054
|
- !ruby/object:Gem::Version
|
1055
1055
|
version: '0'
|
1056
1056
|
requirements: []
|
1057
1057
|
rubyforge_project:
|
1058
|
-
rubygems_version: 2.
|
1058
|
+
rubygems_version: 2.0.14
|
1059
1059
|
signing_key:
|
1060
1060
|
specification_version: 4
|
1061
1061
|
summary: A typesetting system for technical authors
|