Class | Generators::HTMLGeneratorInOne |
In: |
generators/html_generator.rb
|
Parent: | HTMLGenerator |
# File generators/html_generator.rb, line 1495 1495: def build_class_list(from, html_file, class_dir) 1496: @classes << HtmlClass.new(from, html_file, class_dir, @options) 1497: from.each_classmodule do |mod| 1498: build_class_list(mod, html_file, class_dir) 1499: end 1500: end
Generate:
# File generators/html_generator.rb, line 1484 1484: def build_indices 1485: 1486: @toplevels.each do |toplevel| 1487: @files << HtmlFile.new(toplevel, @options, FILE_DIR) 1488: end 1489: 1490: RDoc::TopLevel.all_classes_and_modules.each do |cls| 1491: build_class_list(cls, @files[0], CLASS_DIR) 1492: end 1493: end
# File generators/html_generator.rb, line 1548 1548: def gen_an_index(collection, title) 1549: res = [] 1550: collection.sort.each do |f| 1551: if f.document_self 1552: res << { "href" => f.path, "name" => f.index_name } 1553: end 1554: end 1555: 1556: return { 1557: "entries" => res, 1558: 'list_title' => title, 1559: 'index_url' => main_url, 1560: } 1561: end
# File generators/html_generator.rb, line 1539 1539: def gen_class_index 1540: gen_an_index(@classes, 'Classes') 1541: end
# File generators/html_generator.rb, line 1535 1535: def gen_file_index 1536: gen_an_index(@files, 'Files') 1537: end
# File generators/html_generator.rb, line 1527 1527: def gen_into(list) 1528: res = [] 1529: list.each do |item| 1530: res << item.value_hash 1531: end 1532: res 1533: end
# File generators/html_generator.rb, line 1543 1543: def gen_method_index 1544: gen_an_index(HtmlMethod.all_methods, 'Methods') 1545: end
Build the initial indices and output objects based on an array of TopLevel objects containing the extracted information.
# File generators/html_generator.rb, line 1464 1464: def generate(info) 1465: @toplevels = info 1466: @files = [] 1467: @classes = [] 1468: @hyperlinks = {} 1469: 1470: build_indices 1471: generate_xml 1472: end
Generate all the HTML. For the one-file case, we generate all the information in to one big hash
# File generators/html_generator.rb, line 1506 1506: def generate_xml 1507: values = { 1508: 'charset' => @options.charset, 1509: 'files' => gen_into(@files), 1510: 'classes' => gen_into(@classes), 1511: 'title' => CGI.escapeHTML(@options.title), 1512: } 1513: 1514: # this method is defined in the template file 1515: write_extra_pages if defined? write_extra_pages 1516: 1517: template = TemplatePage.new(RDoc::Page::ONE_PAGE) 1518: 1519: if @options.op_name 1520: opfile = File.open(@options.op_name, "w") 1521: else 1522: opfile = $stdout 1523: end 1524: template.write_html_on(opfile, values) 1525: end