softcover 0.9.9 → 0.9.10

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 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