class RDoc::Generator::JsonIndex

def generate

def generate
  debug_msg "Generating JSON index"
  debug_msg "  writing search index to %s" % SEARCH_INDEX_FILE
  data = build_index
  return if @options.dry_run
  out_dir = @base_dir + @options.op_dir
  index_file = out_dir + SEARCH_INDEX_FILE
  FileUtils.mkdir_p index_file.dirname, :verbose => $DEBUG_RDOC
  index_file.open 'w', 0644 do |io|
    io.set_encoding Encoding::UTF_8
    io.write 'var search_data = '
    JSON.dump data, io, 0
  end
  unless ENV['SOURCE_DATE_EPOCH'].nil?
    index_file.utime index_file.atime, Time.at(ENV['SOURCE_DATE_EPOCH'].to_i).gmtime
  end
  Dir.chdir @template_dir do
    Dir['**/*.js'].each do |source|
      dest = File.join out_dir, source
      FileUtils.install source, dest, :mode => 0644, :preserve => true, :verbose => $DEBUG_RDOC
    end
  end
end