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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e5dc90199028815cce3d644c53d587d6432d0a1c
4
- data.tar.gz: 7a0209dddb86bb08ebd58525ea2a7fc8bddaf528
3
+ metadata.gz: 9e6eeed7020f2fc586daf6ea25063ecb42398ff4
4
+ data.tar.gz: b0c413809eb71625b8a75b0e548473abebf66065
5
5
  SHA512:
6
- metadata.gz: df49fcadd56c8f79997b6e09a864ce7b5d43c865ded10a22489faa611530ec46d98a8964dc00113ff8ce65f6020609f88e5777416ffaa4571374e1b0d10aebac
7
- data.tar.gz: f62df6caebea4de8e05446b95d59ba2090735624f25ea3383d19d8954c9d647ca67fd1e0a3da890f0acb2d54cbd303c92cf1c74dc86bdd42d1d65504592b1b27
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
@@ -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 = options[:preview] ? PREVIEW_PATH : TXT_PATH
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
- inner_html = doc.at_css('body').children.to_xhtml
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
- zip_filename = filename + '.zip'
245
- base_file = "zip -X0 #{zip_filename} mimetype"
246
- zip = "zip -rDXg9"
247
- meta_info = "#{zip} #{zip_filename} META-INF -x \*.DS_Store -x mimetype"
248
- main_info = "#{zip} #{zip_filename} OEBPS -x \*.DS_Store \*.gitkeep"
249
- rename = "mv #{zip_filename} #{filename}.epub"
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
- %(<li><a href="#{chapter.fragment_name}">#{chapter.title}</a></li>)
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"?>
@@ -60,7 +60,7 @@ module Softcover
60
60
  elsif options[:'find-overfull']
61
61
  silence_stream(STDERR) { execute(cmd) }
62
62
  else
63
- execute(cmd)
63
+ options[:preview] ? system(cmd) : execute(cmd)
64
64
  end
65
65
  end
66
66
 
@@ -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 EpubCheck into your home directory"
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
@@ -7,3 +7,5 @@ description: Change me.
7
7
  author: Author Name
8
8
  copyright: <%= Time.new.year %>
9
9
  uuid: <%= SecureRandom.uuid %>
10
+ pdf_preview_page_range: 1..30
11
+ epub_mobi_preview_chapter_range: 0..1
@@ -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?
@@ -1,3 +1,3 @@
1
1
  module Softcover
2
- VERSION = "0.9.9"
2
+ VERSION = "0.9.10"
3
3
  end
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.1'
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.1'
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.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-19 00:00:00.000000000 Z
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.1
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.1
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.1
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.1
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
- - ".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
- - ".rspec"
387
- - ".travis.yml"
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.2.0
1058
+ rubygems_version: 2.0.14
1059
1059
  signing_key:
1060
1060
  specification_version: 4
1061
1061
  summary: A typesetting system for technical authors
@@ -1,7 +0,0 @@
1
- cover
2
- frontmatter:
3
- maketitle
4
- tableofcontents
5
- preface.md
6
- mainmatter:
7
- a_chapter.md