aboutsummaryrefslogtreecommitdiff
path: root/html
diff options
context:
space:
mode:
authorThomas Schilling <nominolo@googlemail.com>2008-10-24 17:04:08 +0000
committerThomas Schilling <nominolo@googlemail.com>2008-10-24 17:04:08 +0000
commit9a55030410de644cb99e127f4eef2da6692836b6 (patch)
tree1a445e4b1b2b920e4f83e4dd1fe1f8c265baaaf4 /html
parentf9f62bd4ff9079c57b13cf3346e2bf54419dce4a (diff)
Enable framed view of the HTML documentation.
This patch introduces: - A page that displays the documentation in a framed view. The left side will show a full module index. Clicking a module name will show it in the right frame. If Javascript is enabled, the left side is split again to show the modules at the top and a very short synopsis for the module currently displayed on the right. - Code to generate the mini-synopsis for each module and the mini module index ("index-frames.html"). - CSS rules for the mini-synopsis. - A very small amount of javascript to update the mini-synopsis (but only if inside a frame.) Some perhaps controversial things: - Sharing code was very difficult, so there is a small amount of code duplication. - The amount of generated pages has been doubled, since every module now also gets a mini-synopsis. The overhead should not be too much, but I haven't checked. Alternatively, the mini-synopsis could also be generated using Javascript if we properly annotate the actual synopsis.
Diffstat (limited to 'html')
-rw-r--r--html/frames.html27
-rw-r--r--html/haddock-util.js6
-rw-r--r--html/haddock.css30
3 files changed, 63 insertions, 0 deletions
diff --git a/html/frames.html b/html/frames.html
new file mode 100644
index 00000000..9e904fc1
--- /dev/null
+++ b/html/frames.html
@@ -0,0 +1,27 @@
+<html>
+<head>
+<script type="text/javascript"><!--
+/*
+
+ The synopsis frame needs to be updated using javascript, so we hide
+ it by default and only show it if javascript is enabled.
+
+ TODO: provide some means to disable it.
+*/
+function load() {
+ var d = document.getElementById("inner-fs");
+ d.rows = "50%,50%";
+}
+--></script>
+<frameset id="outer-fs" cols="25%,75%" onload="load()">
+ <frameset id="inner-fs" rows="100%,0%">
+
+ <frame src="index-frames.html" name="modules">
+ <frame src="" name="synopsis">
+
+ </frameset>
+ <frame src="index.html" name="main">
+
+</frameset>
+
+</html>
diff --git a/html/haddock-util.js b/html/haddock-util.js
index e5d6977e..364081f0 100644
--- a/html/haddock-util.js
+++ b/html/haddock-util.js
@@ -131,3 +131,9 @@ function perform_search(full)
return ""; // should never be reached
}
}
+
+function setSynopsis(filename) {
+ if (parent.window.synopsis) {
+ parent.window.synopsis.location = filename;
+ }
+}
diff --git a/html/haddock.css b/html/haddock.css
index 26695270..35a078d1 100644
--- a/html/haddock.css
+++ b/html/haddock.css
@@ -4,6 +4,7 @@ BODY {
background-color: #ffffff;
color: #000000;
font-family: sans-serif;
+ padding: 0 0;
}
A:link { color: #0000e0; text-decoration: none }
@@ -265,3 +266,32 @@ TD.botbar A:hover {
background-color: #6060ff
}
+/* --------- Mini Synopsis for Frame View --------- */
+
+.outer {
+ margin: 0 0;
+ padding: 0 0;
+}
+
+.mini-synopsis {
+ padding: 0.25em 0.25em;
+}
+
+.mini-synopsis H1 { font-size: 130%; }
+.mini-synopsis H2 { font-size: 110%; }
+.mini-synopsis H3 { font-size: 100%; }
+.mini-synopsis H1, .mini-synopsis H2, .mini-synopsis H3 {
+ margin-top: 0.5em;
+ margin-bottom: 0.25em;
+ padding: 0 0;
+}
+
+.mini-synopsis H1 { border-bottom: 1px solid #ccc; }
+
+.mini-topbar {
+ font-size: 130%;
+ background: #0077dd;
+ padding: 0.25em;
+}
+
+