bookshop 0.1.3 → 0.1.4
Sign up to get free protection for your applications and to get access to all the features.
- data/README.rdoc +12 -13
- data/lib/bookshop.rb +6 -2
- data/lib/bookshop/commands/build.rb +104 -122
- data/lib/bookshop/error.rb +22 -0
- data/lib/bookshop/generators/bookshop/app/app_generator.rb +27 -23
- data/lib/bookshop/generators/bookshop/app/templates/README.rdoc +12 -13
- data/lib/bookshop/version.rb +1 -1
- metadata +21 -20
data/README.rdoc
CHANGED
@@ -1,17 +1,18 @@
|
|
1
|
-
=== http://
|
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
|
6
|
+
bookshop hopes to simplify the book publishing toolchain by:
|
10
7
|
|
11
|
-
* using
|
12
|
-
* separating the "book" into its logical parts:
|
13
|
-
*
|
14
|
-
*
|
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
|
data/lib/bookshop.rb
CHANGED
@@ -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
|
-
|
41
|
-
|
42
|
-
|
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
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
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
|
-
|
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
|
-
|
91
|
-
|
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
|
-
|
98
|
-
|
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
|
-
|
105
|
-
|
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
|
-
|
112
|
-
|
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
|
-
|
119
|
-
|
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
|
-
|
147
|
-
|
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
|
-
|
154
|
-
|
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
|
-
|
161
|
-
|
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
|
-
|
168
|
-
|
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
|
-
|
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
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
136
|
+
end
|
137
|
+
|
138
|
+
def self.build_pdf
|
206
139
|
# Clean up any old builds
|
207
|
-
|
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
|
-
|
215
|
-
|
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,
|
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
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
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
|
-
|
47
|
+
raise ArgumentsError
|
44
48
|
end
|
45
49
|
|
46
50
|
end
|
@@ -1,17 +1,18 @@
|
|
1
|
-
=== http://
|
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
|
6
|
+
bookshop hopes to simplify the book publishing toolchain by:
|
10
7
|
|
11
|
-
* using
|
12
|
-
* separating the "book" into its logical parts:
|
13
|
-
*
|
14
|
-
*
|
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
|
data/lib/bookshop/version.rb
CHANGED
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.
|
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-
|
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: &
|
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: *
|
24
|
+
version_requirements: *70232191111320
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: bundler
|
27
|
-
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: *
|
35
|
+
version_requirements: *70232191110160
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: rake
|
38
|
-
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: *
|
46
|
+
version_requirements: *70232191109320
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: minitest
|
49
|
-
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: *
|
57
|
+
version_requirements: *70232191108020
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: aruba
|
60
|
-
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: *
|
68
|
+
version_requirements: *70232191123780
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: rdoc
|
71
|
-
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: *
|
79
|
+
version_requirements: *70232191122440
|
80
80
|
- !ruby/object:Gem::Dependency
|
81
81
|
name: mocha
|
82
|
-
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: *
|
91
|
-
description: ! "bookshop is
|
92
|
-
based on
|
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:
|
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: []
|