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