def generate top_levels
debug_msg "Generating JSON index"
reset top_levels.sort, RDoc::TopLevel.all_classes_and_modules.sort
index_classes
index_methods
index_pages
debug_msg " writing search index to %s" % SEARCH_INDEX_FILE
data = { :index => @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 if Object.const_defined? :Encoding
io.write 'var search_data = '
JSON.dump data, io, 0
end
Dir.chdir @template_dir do
Dir['**/*.js'].each do |source|
dest = File.join out_dir, source
FileUtils.install source, dest, :mode => 0644, :verbose => $DEBUG_RDOC
end
end
end