lib/review/textmaker.rb in review-3.2.0 vs lib/review/textmaker.rb in review-4.0.0
- old
+ new
@@ -1,6 +1,6 @@
-# Copyright (c) 2018 Kenshi Muto
+# Copyright (c) 2018-2019 Kenshi Muto
#
# This program is free software.
# You can distribute or modify this program under the terms of
# the GNU LGPL, Lesser General Public License version 2.1.
# For details of the GNU LGPL, see the file "COPYING".
@@ -13,28 +13,31 @@
require 'review/configure'
require 'review/book'
require 'review/yamlloader'
require 'review/topbuilder'
require 'review/version'
+require 'review/makerhelper'
module ReVIEW
class TEXTMaker
+ include MakerHelper
+
attr_accessor :config, :basedir
def initialize
@basedir = nil
@logger = ReVIEW.logger
@plaintext = nil
end
def error(msg)
- @logger.error "#{File.basename($PROGRAM_NAME, '.*')}: #{msg}"
+ @logger.error msg
exit 1
end
def warn(msg)
- @logger.warn "#{File.basename($PROGRAM_NAME, '.*')}: #{msg}"
+ @logger.warn msg
end
def self.execute(*args)
self.new.execute(*args)
end
@@ -63,10 +66,11 @@
def build_path
"#{@config['bookname']}-text"
end
def remove_old_files(path)
+ cleanup_mathimg('_review_math_text')
FileUtils.rm_rf(path)
end
def execute(*args)
@config = ReVIEW::Configure.values
@@ -78,17 +82,23 @@
loader = ReVIEW::YAMLLoader.new
@config.deep_merge!(loader.load_file(yamlfile))
rescue => e
error "yaml error #{e.message}"
end
+
# YAML configs will be overridden by command line options.
@config.deep_merge!(cmd_config)
I18n.setup(@config['language'])
begin
generate_text_files(yamlfile)
rescue ApplicationError => e
raise if @config['debug']
error(e.message)
+ end
+
+ math_dir = "./#{@config['imagedir']}/_review_math_text"
+ if @config['imgmath'] && File.exist?(File.join(math_dir, '__IMGMATH_BODY__.tex'))
+ make_math_images(math_dir)
end
end
def generate_text_files(yamlfile)
@basedir = File.dirname(yamlfile)