docbook_xsl_wrapper 0.0.4 → 0.0.5

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.
@@ -16,7 +16,7 @@ tmp_dir = Dir.mktmpdir
16
16
  options.destination = tmp_dir
17
17
 
18
18
  begin
19
- puts "Rendering DocBook file #{options.docbook} to #{options.output}" if options.verbose
19
+ puts "Rendering DocBook file #{options.docbook} to #{options.output}\n\n" if options.verbose
20
20
 
21
21
  epub = DocbookXslWrapper::Epub.new(options)
22
22
  epub.render_to_file
@@ -21,48 +21,49 @@ module DocbookXslWrapper
21
21
  def render_to_epub
22
22
  @collapsed_docbook_file = collapse_docbook()
23
23
 
24
- chunk_quietly = "--stringparam chunk.quietly " + (options.verbose ? '0' : '1')
25
- co_path = "--stringparam callout.graphics.path #{options.callout_path}/"
26
- co_limit = "--stringparam callout.graphics.number.limit #{options.callout_limit}"
27
- co_ext = "--stringparam callout.graphics.extension #{options.callout_ext}"
24
+ # Double-quote stylesheet & file to help Windows cmd.exe
25
+ db2epub_cmd = %Q(cd "#{options.destination}" && xsltproc #{xsl_parser_options} "#{options.custom_xsl}" "#{@collapsed_docbook_file}")
26
+ STDERR.puts db2epub_cmd if options.debug
27
+ success = system(db2epub_cmd)
28
+ raise "Could not render as .epub to #{options.output} (#{db2epub_cmd})" unless success
29
+ end
30
+
31
+ def xsl_parser_options
32
+ chunk_quietly = "--stringparam chunk.quietly " + (options.verbose ? '0' : '1')
33
+ co_path = "--stringparam callout.graphics.path #{options.callout_path}/"
34
+ co_limit = "--stringparam callout.graphics.number.limit #{options.callout_limit}"
35
+ co_ext = "--stringparam callout.graphics.extension #{options.callout_ext}"
28
36
  html_stylesheet = "--stringparam html.stylesheet #{File.basename(options.css)}" if options.css
29
- base = "--stringparam base.dir #{oebps_directory}/"
37
+ base = "--stringparam base.dir #{oebps_path}/"
30
38
  unless options.fonts.empty?
31
39
  fonts = options.fonts.map {|f| File.basename(f)}.join(',')
32
- font = "--stringparam epub.embedded.fonts \"#{fonts}\""
40
+ font = "--stringparam epub.embedded.fonts \"#{fonts}\""
33
41
  end
34
- meta = "--stringparam epub.metainf.dir #{meta_inf_directory}/"
35
- oebps = "--stringparam epub.oebps.dir #{oebps_directory}/"
36
- parser_opts = [chunk_quietly,
37
- co_path,
38
- co_limit,
39
- co_ext,
40
- base,
41
- font,
42
- meta,
43
- oebps,
44
- html_stylesheet,
45
- ].join(" ")
46
- # Double-quote stylesheet & file to help Windows cmd.exe
47
- db2epub_cmd = %Q(cd "#{options.destination}" && xsltproc #{parser_opts} "#{options.custom_xsl}" "#{@collapsed_docbook_file}")
48
- STDERR.puts db2epub_cmd if $DEBUG
49
- success = system(db2epub_cmd)
50
- raise "Could not render as .epub to #{options.output} (#{db2epub_cmd})" unless success
42
+ meta = "--stringparam epub.metainf.dir #{meta_inf_path}/"
43
+ oebps = "--stringparam epub.oebps.dir #{oebps_directory}/"
44
+ [chunk_quietly,
45
+ co_path,
46
+ co_limit,
47
+ co_ext,
48
+ base,
49
+ font,
50
+ meta,
51
+ oebps,
52
+ html_stylesheet,
53
+ ].join(" ")
51
54
  end
52
55
 
53
56
  def bundle_epub
54
57
  quiet = options.verbose ? "" : "-q"
55
58
  mimetype_filename = write_mimetype()
56
- meta = File.basename(meta_inf_directory)
57
- oebps = File.basename(oebps_directory)
58
59
  images = copy_images()
59
60
  csses = copy_csses()
60
61
  fonts = copy_fonts()
61
62
  callouts = copy_callouts()
62
63
  # zip -X -r ../book.epub mimetype META-INF OEBPS
63
64
  # Double-quote stylesheet & file to help Windows cmd.exe
64
- zip_cmd = %Q(cd "#{options.destination}" && zip #{quiet} -X -r "#{File.expand_path(options.output)}" "#{mimetype_filename}" "#{meta}" "#{oebps}")
65
- puts zip_cmd if $DEBUG
65
+ zip_cmd = %Q(cd "#{options.destination}" && zip #{quiet} -X -r "#{File.expand_path(options.output)}" "#{mimetype_filename}" "#{meta_inf_directory}" "#{oebps_directory}")
66
+ puts zip_cmd if options.debug
66
67
  success = system(zip_cmd)
67
68
  raise "Could not bundle into .epub file to #{options.output}" unless success
68
69
  end
@@ -91,7 +92,7 @@ module DocbookXslWrapper
91
92
  if has_callouts?
92
93
  calloutglob = "#{options.callout_full_path}/*#{options.callout_ext}"
93
94
  Dir.glob(calloutglob).each {|img|
94
- img_new_filename = File.join(oebps_directory, options.callout_path, File.basename(img))
95
+ img_new_filename = File.join(oebps_path, options.callout_path, File.basename(img))
95
96
 
96
97
  # TODO: What to rescue for these two?
97
98
  FileUtils.mkdir_p(File.dirname(img_new_filename))
@@ -105,7 +106,7 @@ module DocbookXslWrapper
105
106
  def copy_fonts
106
107
  new_fonts = []
107
108
  options.fonts.each {|font_file|
108
- font_new_filename = File.join(oebps_directory, File.basename(font_file))
109
+ font_new_filename = File.join(oebps_path, File.basename(font_file))
109
110
  FileUtils.cp(font_file, font_new_filename)
110
111
  new_fonts << font_file
111
112
  }
@@ -114,7 +115,7 @@ module DocbookXslWrapper
114
115
 
115
116
  def copy_csses
116
117
  if options.css
117
- css_new_filename = File.join(oebps_directory, File.basename(options.css))
118
+ css_new_filename = File.join(oebps_path, File.basename(options.css))
118
119
  FileUtils.cp(options.css, css_new_filename)
119
120
  end
120
121
  end
@@ -126,12 +127,12 @@ module DocbookXslWrapper
126
127
  # TODO: It'd be cooler if we had a filetype lookup rather than just
127
128
  # extension
128
129
  if img =~ /\.(svg|png|gif|jpe?g|xml)/i
129
- img_new_filename = File.join(oebps_directory, img)
130
+ img_new_filename = File.join(oebps_path, img)
130
131
  img_full = File.join(File.expand_path(File.dirname(options.docbook)), img)
131
132
 
132
133
  # TODO: What to rescue for these two?
133
134
  FileUtils.mkdir_p(File.dirname(img_new_filename))
134
- puts(img_full + ": " + img_new_filename) if $DEBUG
135
+ puts(img_full + ": " + img_new_filename) if options.debug
135
136
  FileUtils.cp(img_full, img_new_filename)
136
137
  new_images << img_full
137
138
  end
@@ -171,11 +172,19 @@ module DocbookXslWrapper
171
172
  end
172
173
 
173
174
  def oebps_directory
174
- @oebps_directory ||= File.join(options.destination, 'OEBPS')
175
+ 'OEBPS'
176
+ end
177
+
178
+ def oebps_path
179
+ @oebps_path ||= File.join(options.destination, oebps_directory)
175
180
  end
176
181
 
177
182
  def meta_inf_directory
178
- @meta_inf_directory ||= File.join(options.destination, 'META-INF')
183
+ 'META-INF'
184
+ end
185
+
186
+ def meta_inf_path
187
+ @meta_inf_path ||= File.join(options.destination, meta_inf_directory)
179
188
  end
180
189
 
181
190
  end
@@ -1,3 +1,3 @@
1
1
  module DocbookXslWrapper
2
- VERSION = "0.0.4"
2
+ VERSION = "0.0.5"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: docbook_xsl_wrapper
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-03-02 00:00:00.000000000 Z
12
+ date: 2013-03-05 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rspec