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)