bookshop 0.1.3 → 0.1.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,17 +1,18 @@
1
- === http://3.bp.blogspot.com/-gYebAHHXpXs/T3aSYFIj6KI/AAAAAAAAACo/Rdo3WOqbihM/s320/bookshop_logo.png
2
-
3
- "a book publishing framework for today's publishing world"
4
-
5
- Bookshop is a an open-source book development and publishing framework for authors, editors, publishers and coders in today's publishing industry. Bookshop provides best-practices for developing your books in HTML/CSS/JS, allowing them to be transformed into potentially any book format (Print-PDF, PDF, mobi, ePub, etc.).
1
+ === http://blueheadpublishing.com/images/bookshop_hero.jpg
2
+ Bookshop is a an open-source agile book development and publishing framework for authors, editors, publishers and coders in today's publishing industry. Bookshop provides best-practices for developing your books in HTML/CSS/JS, allowing them to be transformed into potentially any book format (Print-PDF, Online-PDF, mobi, ePub, etc.).
6
3
 
7
4
  A conceptual overview of bookshop: http://blueheadblog.blogspot.com/2012/03/announcing-bookshop-html-to-pdf-ebook.html
8
5
 
9
- bookshop hopes to simplify the process by:
6
+ bookshop hopes to simplify the book publishing toolchain by:
10
7
 
11
- * using common tools like HTML/CSS to make the creation of your book comfortable and familiar, greatly reducing the learning curve for your developers, authors, agents, and other team members
12
- * separating the "book" into its logical parts: Content via HTML (words, grammar, tense), Structure via microformat (chapters, sections), Style via css (layout, design, typeset), and Format (pdf, mobi, epub, html)
13
- * providing a Ruby Gem to make building a book in HTML as easy as 'gem install bookshop'
14
- * pulling all the html-to-pdf/(e)book tools together into one place (princexml, kindlegen, epubcheck)
8
+ * using industry standards tools like HTML5, CSS, and JS to make the creation of your book comfortable and familiar, greatly reducing the learning curve for your developers, authors, agents, and other team members
9
+ * separating the "book" into its logical parts:
10
+ * *Content* via HTML5 (the actual words, grammar, tense, etc.)
11
+ * *Structure* via Boom! Microformat (chapters, sections, dedication, preface, etc.)
12
+ * *Style* via CSS3 and JS (layout, design, typeset)
13
+ * *Format* (pdf, mobi, epub, html)
14
+ * providing a Ruby Gem to make the building of your book as easy as _gem install bookshop_
15
+ * pulling all the publishing tools together into one place (princexml, kindlegen, epubcheck)
15
16
  * giving the developer a set of scripts to automate the redundant stuff
16
17
  * providing an architecture/structure that follows best-practices and simplification (DRY... Don't Repeat Yourself)
17
18
 
@@ -20,8 +21,6 @@ bookshop hopes to simplify the process by:
20
21
  === System Requirements
21
22
 
22
23
  * Ruby v1.8.7 or higher http://www.ruby-lang.org/en/downloads/
23
-
24
- (not required, but recommended for using other tools)
25
24
  * Java 1.5 or higher http://www.java.com/en/
26
25
 
27
26
  == Installation
@@ -55,7 +54,7 @@ http://www.princexml.com/download
55
54
  |--backmatter/ # Content at the back of the book (appendix, index, etc.)
56
55
  |--assets/
57
56
  |--css/
58
- |--stylesheet.css
57
+ |--stylesheet.pdf.css
59
58
  |--images/
60
59
  |--js/
61
60
  |--epub/ # epub specific files and contents
@@ -1,4 +1,5 @@
1
1
  require 'rbconfig'
2
+ require 'bookshop/error'
2
3
  require 'bookshop/script_bookshop_loader'
3
4
 
4
5
  # If we are inside a Bookshop project this method performs an exec and thus
@@ -10,5 +11,8 @@ $:.unshift(bookshop_path) if File.directory?(bookshop_path) && !$:.include?(book
10
11
 
11
12
  require 'bookshop/ruby_version_check'
12
13
  Signal.trap("INT") { puts; exit }
13
-
14
- require 'bookshop/commands/application'
14
+ begin
15
+ require 'bookshop/commands/application'
16
+ rescue Bookshop::Error => e
17
+ puts e.message
18
+ end
@@ -8,117 +8,67 @@ require 'bookshop/commands/yaml/book'
8
8
  module Bookshop
9
9
  module Commands
10
10
 
11
+
11
12
  # Define build commands for bookshop command line
12
13
  class Build < Thor::Group
13
14
  include Thor::Actions
14
-
15
+
15
16
  BOOK_SOURCE = 'book.html.erb'
16
17
 
17
18
  def initialize
18
19
  @book = []
19
20
  end
20
-
21
- ARGV << '--help' if ARGV.empty?
22
-
23
- aliases = {
24
- "p" => "pdf"
25
- }
26
-
27
- build = ARGV.shift
28
- build = aliases[build] || build
29
-
30
-
31
- # Define arguments and options
32
- argument :type
33
- class_option :test_framework, :default => :test_unit
34
-
35
- # Define source root of application
36
- def self.source_root
37
- File.dirname(__FILE__)
38
- end
39
21
 
40
- # Load YAML files
41
- def self.load_yaml_files
42
- # Load the book.yml into the Book object
43
- @book = Book.new(YAML.load_file('config/book.yml'))
44
- # @toc = Toc.new(YAML.load_file('config/toc.yml'))
22
+ def self.clean_builds(build_type)
23
+ puts "Deleting any old builds"
24
+ FileUtils.rm_r Dir.glob('builds/#{build_type}/*')
45
25
  end
46
26
 
47
- # Renders <%= import(source.html.erb) %> files with ERB
48
- #
49
- # When a new import() is encountered within source files it is
50
- # processed with this method and the result is added to 'erb'
51
- def self.import(file)
52
- load_yaml_files
53
- # Parse the source erb file
54
- ERB.new(File.read('book/'+file)).result(binding).gsub(/\n$/,'')
27
+ def self.generate_file(src, dest)
28
+ src= import(src)
29
+ File.open(dest, 'a') do |f|
30
+ f << src
31
+ end
55
32
  end
56
33
 
57
- case build
58
-
59
- # 'build html' generates a html version of the book from the
60
- # book/book.html.erb source file
61
- # @output variable is set to "html" for access as a conditional
62
- # in the source erb's
63
- when 'html'
64
- # Clean up any old builds
65
- puts "Deleting any old builds"
66
- FileUtils.rm_r Dir.glob('builds/html/*')
67
-
34
+ def self.build_html
35
+ clean_builds( 'html' )
68
36
  @output = :html
69
- erb = import(BOOK_SOURCE)
70
- puts "Generating new html from erb"
71
- File.open("builds/html/book.html", 'a') do |f|
72
- f << erb
73
- end
74
37
 
38
+ puts "Generating new html from erb"
39
+ generate_file(BOOK_SOURCE, "builds/html/book.html")
40
+
75
41
  FileUtils.cp_r('book/assets/', 'builds/html/', :verbose => true)
42
+ end
43
+
44
+ def self.build_epub
45
+ clean_builds('epub')
76
46
 
77
- when 'epub'
78
- # Clean up any old builds
79
- puts "Deleting any old builds"
80
- FileUtils.rm_r Dir.glob('builds/epub/*')
81
-
82
47
  @output = :epub
83
48
 
84
49
  FileUtils.cp_r('book/epub/META-INF', 'builds/epub/', :verbose => true)
85
50
  FileUtils.mkdir 'builds/epub/OEBPS'
86
51
  FileUtils.cp_r('book/epub/mimetype', 'builds/epub/', :verbose => true)
87
52
 
88
- erb = import(BOOK_SOURCE)
89
53
  puts "Generating new html from erb"
90
- File.open("builds/epub/OEBPS/book.html", 'a') do |f|
91
- f << erb
92
- end
93
-
54
+ generate_file(BOOK_SOURCE, "builds/epub/OEBPS/book.html")
55
+
94
56
  # Generate the cover.html file
95
- opf = import("frontmatter/cover.html.erb")
96
57
  puts "Generating new cover.html from erb"
97
- File.open("builds/epub/OEBPS/cover.html", 'a') do |f|
98
- f << opf
99
- end
100
-
58
+ generate_file("frontmatter/cover.html.erb", "builds/epub/OEBPS/cover.html")
59
+
101
60
  # Generate the nav.html file
102
- opf = import("frontmatter/toc.html.erb")
103
61
  puts "Generating new toc.html from erb"
104
- File.open("builds/epub/OEBPS/toc.html", 'a') do |f|
105
- f << opf
106
- end
107
-
62
+ generate_file("frontmatter/toc.html.erb", "builds/epub/OEBPS/toc.html")
63
+
108
64
  # Generate the OPF file
109
- opf = import("epub/OEBPS/content.opf.erb")
110
65
  puts "Generating new content.opf from erb"
111
- File.open("builds/epub/OEBPS/content.opf", 'a') do |f|
112
- f << opf
113
- end
114
-
66
+ generate_file("epub/OEBPS/content.opf.erb", "builds/epub/OEBPS/content.opf")
67
+
115
68
  # Generate the NCX file
116
- ncx = import("epub/OEBPS/toc.ncx.erb")
117
69
  puts "Generating new toc.ncx from erb"
118
- File.open("builds/epub/OEBPS/toc.ncx", 'a') do |f|
119
- f << ncx
120
- end
121
-
70
+ generate_file("epub/OEBPS/toc.ncx.erb", "builds/epub/OEBPS/toc.ncx")
71
+
122
72
  FileUtils.cp_r 'book/assets', 'builds/epub/OEBPS/assets/', :verbose => true
123
73
  FileUtils.rm %w( builds/epub/OEBPS/assets/css/stylesheet.pdf.css
124
74
  builds/epub/OEBPS/assets/css/stylesheet.html.css
@@ -129,51 +79,35 @@ module Bookshop
129
79
 
130
80
  puts "Validating with epubcheck"
131
81
  cmd = cmd = system("java -jar script/epubcheck/epubcheck.jar builds/epub/book.epub")
132
-
133
- when 'mobi'
134
- # Clean up any old builds
135
- puts "Deleting any old builds"
136
- FileUtils.rm_r Dir.glob('builds/mobi/*')
137
82
 
83
+ end
84
+
85
+ def self.build_mobi
86
+ clean_builds('mobi')
138
87
  @output = :mobi
139
88
 
140
89
  FileUtils.cp_r('book/epub/META-INF', 'builds/mobi/', :verbose => true)
141
90
  FileUtils.mkdir 'builds/mobi/OEBPS'
142
91
  FileUtils.cp_r('book/epub/mimetype', 'builds/mobi/', :verbose => true)
143
92
 
144
- erb = import(BOOK_SOURCE)
145
93
  puts "Generating new html from erb"
146
- File.open("builds/mobi/OEBPS/book.html", 'a') do |f|
147
- f << erb
148
- end
149
-
94
+ generate_file(BOOK_SOURCE, "builds/mobi/OEBPS/book.html")
95
+
150
96
  # Generate the cover.html file
151
- opf = import("frontmatter/cover.html.erb")
152
97
  puts "Generating new cover.html from erb"
153
- File.open("builds/mobi/OEBPS/cover.html", 'a') do |f|
154
- f << opf
155
- end
156
-
98
+ generate_file("frontmatter/cover.html.erb","builds/mobi/OEBPS/cover.html")
99
+
157
100
  # Generate the nav.html file
158
- opf = import("frontmatter/toc.html.erb")
159
101
  puts "Generating new toc.html from erb"
160
- File.open("builds/mobi/OEBPS/toc.html", 'a') do |f|
161
- f << opf
162
- end
163
-
102
+ generate_file("frontmatter/toc.html.erb", "builds/mobi/OEBPS/toc.html")
103
+
164
104
  # Generate the OPF file
165
- opf = import("epub/OEBPS/content.opf.erb")
166
105
  puts "Generating new content.opf from erb"
167
- File.open("builds/mobi/OEBPS/content.opf", 'a') do |f|
168
- f << opf
169
- end
170
-
106
+ generate_file("epub/OEBPS/content.opf.erb","builds/mobi/OEBPS/content.opf")
107
+
171
108
  # Generate the NCX file
172
- ncx = import("epub/OEBPS/toc.ncx.erb")
173
109
  puts "Generating new toc.ncx from erb"
174
- File.open("builds/mobi/OEBPS/toc.ncx", 'a') do |f|
175
- f << ncx
176
- end
110
+ generate_file("epub/OEBPS/toc.ncx.erb","builds/mobi/OEBPS/toc.ncx")
177
111
 
178
112
  FileUtils.cp_r 'book/assets', 'builds/mobi/OEBPS/assets/', :verbose => true
179
113
  FileUtils.rm %w( builds/mobi/OEBPS/assets/css/stylesheet.pdf.css
@@ -199,30 +133,78 @@ module Bookshop
199
133
  raise "We can't seem to execute the version of kindle specific to your platform."
200
134
  end
201
135
 
202
- # 'build pdf' generates a pdf version of the book from the builds/html/book.html
203
- # which is generated from the book/book.html.erb source file
204
- when 'pdf'
205
-
136
+ end
137
+
138
+ def self.build_pdf
206
139
  # Clean up any old builds
207
- puts "Deleting any old builds"
208
- FileUtils.rm_r Dir.glob('builds/pdf/*')
209
-
140
+ clean_builds("pdf")
210
141
  @output = :pdf
211
- erb = import(BOOK_SOURCE)
212
142
  # Generate the html from ERB
213
143
  puts "Generating new html from erb"
214
- File.open('builds/pdf/book.html', 'a') do |f|
215
- f << erb
216
- end
217
-
144
+ generate_file(BOOK_SOURCE, 'builds/pdf/book.html')
145
+
218
146
  # Copy over html assets
219
147
  FileUtils.cp_r('book/assets/', 'builds/pdf/', :verbose => true)
220
148
 
221
-
222
149
  # Builds the pdf from builds/html/book.html
223
150
  puts "Building new pdf at builds/pdf/book.pdf from new html build"
224
151
  cmd = system("prince -v builds/pdf/book.html -o builds/pdf/book.pdf")
152
+
153
+ end
154
+
155
+ ARGV << '--help' if ARGV.empty?
156
+
157
+ aliases = {
158
+ "p" => "pdf"
159
+ }
225
160
 
161
+ build = ARGV.shift
162
+ build = aliases[build] || build
163
+
164
+
165
+ # Define arguments and options
166
+ argument :type
167
+ class_option :test_framework, :default => :test_unit
168
+
169
+ # Define source root of application
170
+ def self.source_root
171
+ File.dirname(__FILE__)
172
+ end
173
+
174
+ # Load YAML files
175
+ def self.load_yaml_files
176
+ # Load the book.yml into the Book object
177
+ @book = Book.new(YAML.load_file('config/book.yml'))
178
+ # @toc = Toc.new(YAML.load_file('config/toc.yml'))
179
+ end
180
+
181
+ # Renders <%= import(source.html.erb) %> files with ERB
182
+ #
183
+ # When a new import() is encountered within source files it is
184
+ # processed with this method and the result is added to 'erb'
185
+ def self.import(file)
186
+ load_yaml_files
187
+ # Parse the source erb file
188
+ ERB.new(File.read('book/'+file)).result(binding).gsub(/\n$/,'')
189
+ end
190
+
191
+ case build
192
+
193
+ when 'html'
194
+ # 'build html' generates a html version of the book from the
195
+ # book/book.html.erb source file
196
+ # @output variable is set to "html" for access as a conditional
197
+ # in the source erb's
198
+ build_html
199
+ when 'epub'
200
+ build_epub
201
+ when 'mobi'
202
+ build_mobi
203
+ # 'build pdf' generates a pdf version of the book from the builds/html/book.html
204
+ # which is generated from the book/book.html.erb source file
205
+ when 'pdf'
206
+ build_pdf
207
+
226
208
  else
227
209
  puts "Error: Command not recognized" unless %w(-h --help).include?(build)
228
210
  puts <<-EOT
@@ -239,4 +221,4 @@ module Bookshop
239
221
  end
240
222
  end
241
223
  end
242
- end
224
+ end
@@ -0,0 +1,22 @@
1
+
2
+ module Bookshop
3
+
4
+ class Error< StandardError
5
+
6
+ end
7
+
8
+ class ArgumentsError< Error
9
+
10
+ def to_s
11
+ " bookshop new BOOK_NAME [options]"
12
+ end
13
+
14
+ end
15
+
16
+ class GeneratorArgumentsError < ArgumentsError
17
+ def to_s
18
+ "Usage:\n" + super
19
+ end
20
+ end
21
+
22
+ end
@@ -9,38 +9,42 @@ module Bookshop
9
9
  include Thor::Actions
10
10
 
11
11
  # Define arguments and options
12
- argument :app_path, :type => :string
12
+ argument :app_path, :optional=> true, :type => :string
13
13
 
14
14
  # Define source root of application
15
15
  def self.source_root
16
16
  File.dirname(__FILE__)
17
17
  end
18
18
 
19
- # Create the project from templates
20
- def create_base_project
21
- puts "creating base project"
22
- directory "templates", "#{app_path}"
23
- end
24
-
25
- # Adds third-party tools
26
- # def add_tools
27
- # directory "tools/", "#{app_path}/tools/"
28
- # end
29
-
30
- #Change the permissions so tools are executable
31
- def chmod_tools
32
- chmod "#{app_path}/script/epubcheck/epubcheck.jar", 0755
33
- chmod "#{app_path}/script/epubcheck/lib/jing.jar", 0755
34
- chmod "#{app_path}/script/epubcheck/lib/saxon.jar", 0755
35
- chmod "#{app_path}/script/kindlegen/kindlegen.exe", 0755
36
- chmod "#{app_path}/script/kindlegen/kindlegen_mac", 0755
37
- chmod "#{app_path}/script/kindlegen/kindlegen_linux", 0755
38
- end
39
-
19
+
20
+ # Create the project from templates
21
+ def create_base_project
22
+ raise GeneratorArgumentsError if app_path.nil?
23
+ puts "creating base project"
24
+ directory "templates", "#{app_path}"
25
+ end
26
+
27
+ # Adds third-party tools
28
+ # def add_tools
29
+ # directory "tools/", "#{app_path}/tools/"
30
+ # end
31
+
32
+ #Change the permissions so tools are executable
33
+ def chmod_tools
34
+ chmod "#{app_path}/script/epubcheck/epubcheck.jar", 0755
35
+ chmod "#{app_path}/script/epubcheck/lib/jing.jar", 0755
36
+ chmod "#{app_path}/script/epubcheck/lib/saxon.jar", 0755
37
+ chmod "#{app_path}/script/kindlegen/kindlegen.exe", 0755
38
+ chmod "#{app_path}/script/kindlegen/kindlegen_mac", 0755
39
+ chmod "#{app_path}/script/kindlegen/kindlegen_linux", 0755
40
+ end
41
+
42
+
43
+
40
44
  protected
41
45
 
42
46
  def self.banner
43
- "bookshop new #{self.arguments.map(&:usage).join(' ')} [options]"
47
+ raise ArgumentsError
44
48
  end
45
49
 
46
50
  end
@@ -1,17 +1,18 @@
1
- === http://3.bp.blogspot.com/-gYebAHHXpXs/T3aSYFIj6KI/AAAAAAAAACo/Rdo3WOqbihM/s320/bookshop_logo.png
2
-
3
- "a book publishing framework for today's publishing world"
4
-
5
- Bookshop is a an open-source book development and publishing framework for authors, editors, publishers and coders in today's publishing industry. Bookshop provides best-practices for developing your books in HTML/CSS/JS, allowing them to be transformed into potentially any book format (Print-PDF, PDF, mobi, ePub, etc.).
1
+ === http://blueheadpublishing.com/images/bookshop_hero.jpg
2
+ Bookshop is a an open-source agile book development and publishing framework for authors, editors, publishers and coders in today's publishing industry. Bookshop provides best-practices for developing your books in HTML/CSS/JS, allowing them to be transformed into potentially any book format (Print-PDF, Online-PDF, mobi, ePub, etc.).
6
3
 
7
4
  A conceptual overview of bookshop: http://blueheadblog.blogspot.com/2012/03/announcing-bookshop-html-to-pdf-ebook.html
8
5
 
9
- bookshop hopes to simplify the process by:
6
+ bookshop hopes to simplify the book publishing toolchain by:
10
7
 
11
- * using common tools like HTML/CSS to make the creation of your book comfortable and familiar, greatly reducing the learning curve for your developers, authors, agents, and other team members
12
- * separating the "book" into its logical parts: Content via HTML (words, grammar, tense), Structure via microformat (chapters, sections), Style via css (layout, design, typeset), and Format (pdf, mobi, epub, html)
13
- * providing a Ruby Gem to make building a book in HTML as easy as 'gem install bookshop'
14
- * pulling all the html-to-pdf/(e)book tools together into one place (princexml, kindlegen, epubcheck)
8
+ * using industry standards tools like HTML5, CSS, and JS to make the creation of your book comfortable and familiar, greatly reducing the learning curve for your developers, authors, agents, and other team members
9
+ * separating the "book" into its logical parts:
10
+ * *Content* via HTML5 (the actual words, grammar, tense, etc.)
11
+ * *Structure* via Boom! Microformat (chapters, sections, dedication, preface, etc.)
12
+ * *Style* via CSS3 and JS (layout, design, typeset)
13
+ * *Format* (pdf, mobi, epub, html)
14
+ * providing a Ruby Gem to make the building of your book as easy as _gem install bookshop_
15
+ * pulling all the publishing tools together into one place (princexml, kindlegen, epubcheck)
15
16
  * giving the developer a set of scripts to automate the redundant stuff
16
17
  * providing an architecture/structure that follows best-practices and simplification (DRY... Don't Repeat Yourself)
17
18
 
@@ -20,8 +21,6 @@ bookshop hopes to simplify the process by:
20
21
  === System Requirements
21
22
 
22
23
  * Ruby v1.8.7 or higher http://www.ruby-lang.org/en/downloads/
23
-
24
- (not required, but recommended for using other tools)
25
24
  * Java 1.5 or higher http://www.java.com/en/
26
25
 
27
26
  == Installation
@@ -55,7 +54,7 @@ http://www.princexml.com/download
55
54
  |--backmatter/ # Content at the back of the book (appendix, index, etc.)
56
55
  |--assets/
57
56
  |--css/
58
- |--stylesheet.css
57
+ |--stylesheet.pdf.css
59
58
  |--images/
60
59
  |--js/
61
60
  |--epub/ # epub specific files and contents
@@ -1,3 +1,3 @@
1
1
  module Bookshop
2
- VERSION = "0.1.3"
2
+ VERSION = "0.1.4"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bookshop
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.4
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-04-26 00:00:00.000000000 Z
12
+ date: 2012-05-07 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: thor
16
- requirement: &70288713141340 !ruby/object:Gem::Requirement
16
+ requirement: &70232191111320 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 0.14.6
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70288713141340
24
+ version_requirements: *70232191111320
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: bundler
27
- requirement: &70288713166500 !ruby/object:Gem::Requirement
27
+ requirement: &70232191110160 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: 1.0.0
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *70288713166500
35
+ version_requirements: *70232191110160
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rake
38
- requirement: &70288713166020 !ruby/object:Gem::Requirement
38
+ requirement: &70232191109320 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0'
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *70288713166020
46
+ version_requirements: *70232191109320
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: minitest
49
- requirement: &70288713165540 !ruby/object:Gem::Requirement
49
+ requirement: &70232191108020 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: '0'
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *70288713165540
57
+ version_requirements: *70232191108020
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: aruba
60
- requirement: &70288713165120 !ruby/object:Gem::Requirement
60
+ requirement: &70232191123780 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ! '>='
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: '0'
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *70288713165120
68
+ version_requirements: *70232191123780
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rdoc
71
- requirement: &70288713164700 !ruby/object:Gem::Requirement
71
+ requirement: &70232191122440 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ! '>='
@@ -76,10 +76,10 @@ dependencies:
76
76
  version: '0'
77
77
  type: :development
78
78
  prerelease: false
79
- version_requirements: *70288713164700
79
+ version_requirements: *70232191122440
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: mocha
82
- requirement: &70288713164200 !ruby/object:Gem::Requirement
82
+ requirement: &70232191121900 !ruby/object:Gem::Requirement
83
83
  none: false
84
84
  requirements:
85
85
  - - ! '>='
@@ -87,9 +87,9 @@ dependencies:
87
87
  version: '0'
88
88
  type: :development
89
89
  prerelease: false
90
- version_requirements: *70288713164200
91
- description: ! "bookshop is a book publishing framework for building pdf/(e)books
92
- based on HTML,\n CSS, and JavaScript. The framework is optimized
90
+ version_requirements: *70232191121900
91
+ description: ! "bookshop is an agile book publishing framework for building pdf/(e)books
92
+ based on HTML5,\n CSS, and JavaScript. The framework is optimized
93
93
  to help publishers, editors, and authors\n quickly ramp-up, allowing
94
94
  them to jump in and develop their html-to-pdf/(e)book flows by\n favoring
95
95
  convention over configuration, setting them up with best-practices, standards\n
@@ -106,6 +106,7 @@ files:
106
106
  - lib/bookshop/commands/build.rb
107
107
  - lib/bookshop/commands/yaml/book.rb
108
108
  - lib/bookshop/commands.rb
109
+ - lib/bookshop/error.rb
109
110
  - lib/bookshop/generators/bookshop/app/app_generator.rb
110
111
  - lib/bookshop/generators/bookshop/app/templates/book/assets/css/page-template.xpgt
111
112
  - lib/bookshop/generators/bookshop/app/templates/book/assets/css/stylesheet.epub.css
@@ -192,6 +193,6 @@ rubyforge_project: bookshop
192
193
  rubygems_version: 1.8.17
193
194
  signing_key:
194
195
  specification_version: 3
195
- summary: A book publishing framework for building pdf/(e)books based on HTML, CSS,
196
- and JavaScript.
196
+ summary: An agile book publishing framework for building pdf/(e)books based on HTML5,
197
+ CSS, and JavaScript.
197
198
  test_files: []