bin/review-compile in review-1.4.0 vs bin/review-compile in review-1.5.0
- old
+ new
@@ -17,10 +17,11 @@
$LOAD_PATH.unshift((bindir + '../lib').realpath)
require 'review'
require 'review/compiler'
require 'review/book'
+require 'review/i18n'
require 'fileutils'
require 'optparse'
def main
Signal.trap(:INT) { exit 1 }
@@ -141,59 +142,43 @@
exit 1
end
begin
config["builder"] = target
+ ReVIEW::I18n.setup(config["language"])
- compiler = ReVIEW::Compiler.new(load_strategy_class(target, check_only))
case mode
when :files
if ARGV.empty?
error 'no input'
exit 1
end
- begin
- ReVIEW::Book::Chapter.intern_pathes(ARGV).each do |chap|
- chap.book.config = config # needs only at the first time
- result = compiler.compile(chap)
- if output_filename
- write output_filename, result
- else
- puts result unless check_only
- end
- end
- rescue => e
- # PART
- book = ReVIEW::Book::Base.load_default
- book.config = config
- part = book.parts_in_file.select do |part_item|
- ARGV.map{|path| File.basename path}.include? part_item.path
- end
- if part.present?
- result = compiler.compile(part.first)
- if output_filename
- write output_filename, result
- else
- puts result unless check_only
- end
+ basedir = File.dirname(ARGV[0])
+ book = ReVIEW::Book::Base.load(basedir)
+ book.config = config # needs only at the first time
+ ARGV.each do |item|
+ chap_name = File.basename(item, '.*')
+ chap = book.chapter(chap_name)
+ compiler = ReVIEW::Compiler.new(load_strategy_class(target, check_only))
+ result = compiler.compile(chap)
+ if output_filename
+ write output_filename, result
else
- raise e
+ puts result unless check_only
end
end
when :dir
- book = basedir ? ReVIEW::Book.load(basedir) : ReVIEW::Book::Base.load_default
+ book = basedir ? ReVIEW::Book.load(basedir) : ReVIEW::Book::Base.load
book.config = config
+ compiler = ReVIEW::Compiler.new(load_strategy_class(target, check_only))
book.chapters.each do |chap|
str = compiler.compile(chap)
write "#{chap.name}#{compiler.strategy.extname}", str unless check_only
end
# PART
book.parts_in_file.each do |part|
str = compiler.compile(part)
- if compiler.strategy.extname == ".tex"
- str.gsub!(/\A\\chapter\{/, '\part{') # FIXME: UGLY...
- end
write "#{part.name}#{compiler.strategy.extname}", str unless check_only
end
else
raise "must not happen: #{mode}"
end