From 9a55030410de644cb99e127f4eef2da6692836b6 Mon Sep 17 00:00:00 2001 From: Thomas Schilling Date: Fri, 24 Oct 2008 17:04:08 +0000 Subject: 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. --- html/frames.html | 27 +++++++++++++++++++++++++++ html/haddock-util.js | 6 ++++++ html/haddock.css | 30 ++++++++++++++++++++++++++++++ 3 files changed, 63 insertions(+) create mode 100644 html/frames.html (limited to 'html') 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 @@ + + + + + + + + + + + + + + + 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; +} + + -- cgit v1.2.3