about summary refs log tree commit homepage
path: root/lib/oldweb/table_of_contents.rhtml
diff options
context:
space:
mode:
Diffstat (limited to 'lib/oldweb/table_of_contents.rhtml')
-rw-r--r--lib/oldweb/table_of_contents.rhtml52
1 files changed, 52 insertions, 0 deletions
diff --git a/lib/oldweb/table_of_contents.rhtml b/lib/oldweb/table_of_contents.rhtml
new file mode 100644
index 0000000..ed455a8
--- /dev/null
+++ b/lib/oldweb/table_of_contents.rhtml
@@ -0,0 +1,52 @@
+<h1><%= h @title %></h1><%
+simple_files = @files.select(&:text?)
+unless simple_files.empty?
+%><h2 id="pages">Pages</h2>
+<ul><%
+  simple_files.sort.each do |file| %><li><a
+href="<%= file.path %>"><%= h file.page_name %></a>
+<%
+    # HACK table_of_contents should not exist on Document
+    table = file.parse(file.comment).table_of_contents
+    unless table.empty?
+%><ul><%
+      table.each do |heading|
+      %><li><a
+href="<%= file.path %>#<%= heading.aref %>"><%= heading.plain_html %></a>
+<%    end
+%></ul><%
+    end
+%><%
+  end
+%></ul><%
+end
+%><h2
+id="classes">Classes and Modules</h2><ul><%
+@modsort.each do |klass| %><li
+class="<%= klass.type %>"><a
+href="<%= klass.path %>"><%= klass.full_name %></a>
+<%
+  table = []
+  table.concat klass.parse(klass.comment_location).table_of_contents
+  table.concat klass.section_contents
+
+  unless table.empty?
+    %><ul><%
+    table.each do |item|
+    %><li><a
+href="<%= klass.path %>#<%= item.aref %>"><%= item.plain_html %></a>
+<%
+    end %></ul><%
+  end
+%><%
+end
+%></ul><h2
+id="methods">Methods</h2><ul><%
+  @store.all_classes_and_modules.map do |mod|
+    mod.method_list
+  end.flatten.sort.each do |method|
+%><li><a
+href="<%= method.path %>"><%= h method.pretty_name %></a>
+- <%= method.parent.full_name %><%
+end
+%></ul>