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