lib/liquidoc.rb in liquidoc-0.12.0.pre.rc3 vs lib/liquidoc.rb in liquidoc-0.12.0.pre.rc4
- old
+ new
@@ -55,20 +55,22 @@
@quiet = false
@explicit = false
@search_index = false
@search_index_dry = ''
@safemode = true
+@render_count = 0
# Instantiate the main Logger object, which is always running
@logger = Logger.new(STDOUT)
@logger.formatter = proc do |severity, datetime, progname, msg|
"#{severity}: #{msg}\n"
end
@logger.level = Logger::INFO # suppresses DEBUG-level messages
FileUtils::mkdir_p("#{@build_dir}") unless File.exists?("#{@build_dir}")
+FileUtils::rm_rf("#{@build_dir}/pre")
FileUtils::mkdir_p("#{@build_dir}/pre") unless File.exists?("#{@build_dir}/pre")
# ===
# Executive procs
@@ -1017,10 +1019,12 @@
end
return backend
end
def render_doc doc, build
+ @render_count += 1
+ @logger.info "### Build ##{@render_count}"
case build.backend
when "html5", "pdf"
asciidocify(doc, build)
when "jekyll"
generate_site(doc, build)
@@ -1088,21 +1092,22 @@
attrs.merge! ({"base_dir" => jekyll['source']}) # Sets default Asciidoctor base_dir to == Jekyll root
# write all AsciiDoc attributes to a config file for Jekyll to ingest
attrs.merge!(build.attributes) if build.attributes
attrs = {"asciidoctor" => {"attributes" => attrs} }
attrs_yaml = attrs.to_yaml # Convert it all back to Yaml, as we're going to write a file to feed back to Jekyll
- File.open("#{@build_dir}/pre/_attributes.yml", 'w') { |file| file.write(attrs_yaml) }
- build.add_config_file("#{@build_dir}/pre/_attributes.yml")
+ File.open("#{@build_dir}/pre/attributes_#{@render_count}.yml", 'w') { |file| file.write(attrs_yaml) }
+ build.add_config_file("#{@build_dir}/pre/attributes_#{@render_count}.yml")
config_list = build.prop_files_array.join(',') # flatten the Array back down for the CLI
quiet = "--quiet" if @quiet || @explicit
if build.props['arguments']
- opts_args_file = "#{@build_dir}/pre/jekyll_opts_args.yml"
+ opts_args_file = "#{@build_dir}/pre/jekyll_opts_args_#{@render_count}.yml"
opts_args = build.props['arguments']
File.open(opts_args_file, 'w') { |file|
file.write(opts_args.to_yaml)}
config_list << ",#{opts_args_file}"
end
base_args = "--config #{config_list}"
+ base_args += " --trace" if @verbose
command = "bundle exec jekyll build #{base_args} #{quiet}"
if @search_index
# TODO enable config-based admin api key ingest once config is dynamic
command = algolia_index_cmd(build, @search_api_key, base_args)
@logger.warn "Search indexing failed." unless command