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