aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--haddock.cabal23
-rw-r--r--html/haddock-DEBUG.css173
-rw-r--r--html/haddock.css297
-rw-r--r--html/themes/Classic/haskell_icon.gif (renamed from html/haskell_icon.gif)bin911 -> 911 bytes
-rw-r--r--html/themes/Classic/minus.gif (renamed from html/minus.gif)bin56 -> 56 bytes
-rw-r--r--html/themes/Classic/plus.gif (renamed from html/plus.gif)bin59 -> 59 bytes
-rw-r--r--html/themes/Classic/xhaddock.css (renamed from html/xhaddock.css)0
-rw-r--r--html/themes/Ocean/hslogo-16.png (renamed from html/hslogo-16.png)bin1684 -> 1684 bytes
-rw-r--r--html/themes/Ocean/minus.gifbin0 -> 56 bytes
-rw-r--r--html/themes/Ocean/ocean.css (renamed from html/nhaddock.css)0
-rw-r--r--html/themes/Ocean/plus.gifbin0 -> 59 bytes
-rw-r--r--html/themes/Snappy/minus.gifbin0 -> 56 bytes
-rw-r--r--html/themes/Snappy/plus.gifbin0 -> 59 bytes
-rw-r--r--html/themes/Snappy/s_haskell_icon.gif (renamed from html/s_haskell_icon.gif)bin607 -> 607 bytes
-rw-r--r--html/themes/Snappy/snappy.css (renamed from html/shaddock.css)0
-rw-r--r--html/themes/Tibbe/haskell_icon.gifbin0 -> 911 bytes
-rw-r--r--html/themes/Tibbe/minus.gifbin0 -> 56 bytes
-rw-r--r--html/themes/Tibbe/plus.gifbin0 -> 59 bytes
-rw-r--r--html/themes/Tibbe/tibbe.css (renamed from html/thaddock.css)0
-rw-r--r--src/Haddock/Backends/Xhtml.hs2
-rw-r--r--src/Haddock/Backends/Xhtml/Themes.hs89
-rw-r--r--src/Haddock/Backends/Xhtml/Utils.hs2
-rw-r--r--src/Haddock/Utils.hs6
23 files changed, 67 insertions, 525 deletions
diff --git a/haddock.cabal b/haddock.cabal
index 1ae9a656..0058cb59 100644
--- a/haddock.cabal
+++ b/haddock.cabal
@@ -50,13 +50,24 @@ extra-source-files:
src/haddock.sh
data-files:
- html/haddock-DEBUG.css
- html/haddock.css
- html/haddock-util.js
- html/haskell_icon.gif
- html/minus.gif
- html/plus.gif
html/frames.html
+ html/haddock-util.js
+ html/themes/Classic/haskell_icon.gif
+ html/themes/Classic/minus.gif
+ html/themes/Classic/plus.gif
+ html/themes/Classic/xhaddock.css
+ html/themes/Ocean/hslogo-16.png
+ html/themes/Ocean/minus.gif
+ html/themes/Ocean/ocean.css
+ html/themes/Ocean/plus.gif
+ html/themes/Snappy/minus.gif
+ html/themes/Snappy/plus.gif
+ html/themes/Snappy/s_haskell_icon.gif
+ html/themes/Snappy/snappy.css
+ html/themes/Tibbe/haskell_icon.gif
+ html/themes/Tibbe/minus.gif
+ html/themes/Tibbe/plus.gif
+ html/themes/Tibbe/tibbe.css
latex/haddock.sty
flag in-ghc-tree
diff --git a/html/haddock-DEBUG.css b/html/haddock-DEBUG.css
deleted file mode 100644
index 06f4fc04..00000000
--- a/html/haddock-DEBUG.css
+++ /dev/null
@@ -1,173 +0,0 @@
-/* -------- Global things --------- */
-
-BODY {
- background-color: #ffffff;
- color: #000000;
- font-family: sans-serif;
- }
-
-A:link { color: #0000e0; text-decoration: none }
-A:visited { color: #0000a0; text-decoration: none }
-A:hover { background-color: #e0e0ff; text-decoration: none }
-
-TABLE.vanilla {
- width: 100%;
- border-width: 0px;
- background-color: #ffe0e0;
- /* I can't seem to specify cellspacing or cellpadding properly using CSS... */
-}
-
-TD {
- border-width: 0px;
-}
-
-TABLE.narrow {
- border-width: 0px;
-}
-
-/* --------- Documentation elements ---------- */
-
-TD.children {
- padding-left: 25px;
- }
-
-TD.synopsis {
- padding: 2px;
- background-color: #f0f0f0;
- font-family: monospace
- }
-
-TD.decl {
- padding: 2px;
- background-color: #f0f0f0;
- font-family: monospace;
- white-space: nowrap;
- vertical-align: top;
- }
-
-TD.recfield { padding-left: 20px }
-
-TD.doc {
- padding-top: 2px;
- padding-left: 10px;
- background-color: #e0ffe0;
- }
-
-TD.ndoc {
- padding: 2px;
- background-color: #e0ffe0;
- }
-
-TD.rdoc {
- padding: 2px;
- padding-left: 10px;
- background-color: #e0ffe0;
- width: 100%;
- }
-
-TD.body {
- padding-left: 10px
- }
-
-/* ------- Section Headings ------- */
-
-TD.section1 {
- padding-top: 15px;
- font-weight: bold;
- font-size: 150%
- }
-
-TD.section2 {
- padding-top: 10px;
- font-weight: bold;
- font-size: 130%
- }
-
-TD.section3 {
- padding-top: 5px;
- font-weight: bold;
- font-size: 110%
- }
-
-TD.section4 {
- font-weight: bold;
- font-size: 100%
- }
-
-/* -------------- The title bar at the top of the page */
-
-TD.infohead {
- color: #ffffff;
- font-weight: bold;
- padding-right: 10px;
- text-align: left;
-}
-
-TD.infoval {
- color: #ffffff;
- padding-right: 10px;
- text-align: left;
-}
-
-TD.topbar {
- background-color: #000099;
- padding: 5px;
-}
-
-TD.title {
- color: #ffffff;
- padding-left: 10px;
- width: 100%
- }
-
-TD.topbut {
- padding-left: 5px;
- padding-right: 5px;
- border-left-width: 1px;
- border-left-color: #ffffff;
- border-left-style: solid;
- white-space: nowrap;
- }
-
-TD.topbut A:link {
- color: #ffffff
- }
-
-TD.topbut A:visited {
- color: #ffff00
- }
-
-TD.topbut A:hover {
- background-color: #6060ff;
- }
-
-TD.topbut:hover {
- background-color: #6060ff
- }
-
-TD.modulebar {
- background-color: #0077dd;
- padding: 5px;
- border-top-width: 1px;
- border-top-color: #ffffff;
- border-top-style: solid;
- }
-
-/* --------- The page footer --------- */
-
-TD.botbar {
- background-color: #000099;
- color: #ffffff;
- padding: 5px
- }
-TD.botbar A:link {
- color: #ffffff;
- text-decoration: underline
- }
-TD.botbar A:visited {
- color: #ffff00
- }
-TD.botbar A:hover {
- background-color: #6060ff
- }
-
diff --git a/html/haddock.css b/html/haddock.css
deleted file mode 100644
index 35a078d1..00000000
--- a/html/haddock.css
+++ /dev/null
@@ -1,297 +0,0 @@
-/* -------- Global things --------- */
-
-BODY {
- background-color: #ffffff;
- color: #000000;
- font-family: sans-serif;
- padding: 0 0;
- }
-
-A:link { color: #0000e0; text-decoration: none }
-A:visited { color: #0000a0; text-decoration: none }
-A:hover { background-color: #e0e0ff; text-decoration: none }
-
-TABLE.vanilla {
- width: 100%;
- border-width: 0px;
- /* I can't seem to specify cellspacing or cellpadding properly using CSS... */
-}
-
-TABLE.vanilla2 {
- border-width: 0px;
-}
-
-/* <TT> font is a little too small in MSIE */
-TT { font-size: 100%; }
-PRE { font-size: 100%; }
-
-LI P { margin: 0pt }
-
-TD {
- border-width: 0px;
-}
-
-TABLE.narrow {
- border-width: 0px;
-}
-
-TD.s8 { height: 8px; }
-TD.s15 { height: 15px; }
-
-SPAN.keyword { text-decoration: underline; }
-
-/* Resize the buttom image to match the text size */
-IMG.coll { width : 0.75em; height: 0.75em; margin-bottom: 0; margin-right: 0.5em }
-
-/* --------- Contents page ---------- */
-
-DIV.node {
- padding-left: 3em;
-}
-
-DIV.cnode {
- padding-left: 1.75em;
-}
-
-SPAN.pkg {
- position: absolute;
- left: 50em;
-}
-
-/* --------- Documentation elements ---------- */
-
-TD.children {
- padding-left: 25px;
- }
-
-TD.synopsis {
- padding: 2px;
- background-color: #f0f0f0;
- font-family: monospace
- }
-
-TD.decl {
- padding: 2px;
- background-color: #f0f0f0;
- font-family: monospace;
- vertical-align: top;
- }
-
-TD.topdecl {
- padding: 2px;
- background-color: #f0f0f0;
- font-family: monospace;
- vertical-align: top;
-}
-
-TABLE.declbar {
- border-spacing: 0px;
- }
-
-TD.declname {
- width: 100%;
- }
-
-TD.declbut {
- padding-left: 5px;
- padding-right: 5px;
- border-left-width: 1px;
- border-left-color: #000099;
- border-left-style: solid;
- white-space: nowrap;
- font-size: small;
- }
-
-/*
- arg is just like decl, except that wrapping is not allowed. It is
- used for function and constructor arguments which have a text box
- to the right, where if wrapping is allowed the text box squashes up
- the declaration by wrapping it.
-*/
-TD.arg {
- padding: 2px;
- background-color: #f0f0f0;
- font-family: monospace;
- vertical-align: top;
- white-space: nowrap;
- }
-
-TD.recfield { padding-left: 20px }
-
-TD.doc {
- padding-top: 2px;
- padding-left: 10px;
- }
-
-TD.ndoc {
- padding: 2px;
- }
-
-TD.rdoc {
- padding: 2px;
- padding-left: 10px;
- width: 100%;
- }
-
-TD.body {
- padding-left: 10px
- }
-
-TD.pkg {
- width: 100%;
- padding-left: 10px
-}
-
-TABLE.indexsearch TR.indexrow {
- display: none;
-}
-TABLE.indexsearch TR.indexshow {
- display: table-row;
-}
-
-TD.indexentry {
- vertical-align: top;
- padding-right: 10px
- }
-
-TD.indexannot {
- vertical-align: top;
- padding-left: 20px;
- white-space: nowrap
- }
-
-TD.indexlinks {
- width: 100%
- }
-
-/* ------- Section Headings ------- */
-
-TD.section1 {
- padding-top: 15px;
- font-weight: bold;
- font-size: 150%
- }
-
-TD.section2 {
- padding-top: 10px;
- font-weight: bold;
- font-size: 130%
- }
-
-TD.section3 {
- padding-top: 5px;
- font-weight: bold;
- font-size: 110%
- }
-
-TD.section4 {
- font-weight: bold;
- font-size: 100%
- }
-
-/* -------------- The title bar at the top of the page */
-
-TD.infohead {
- color: #ffffff;
- font-weight: bold;
- padding-right: 10px;
- text-align: left;
-}
-
-TD.infoval {
- color: #ffffff;
- padding-right: 10px;
- text-align: left;
-}
-
-TD.topbar {
- background-color: #000099;
- padding: 5px;
-}
-
-TD.title {
- color: #ffffff;
- padding-left: 10px;
- width: 100%
- }
-
-TD.topbut {
- padding-left: 5px;
- padding-right: 5px;
- border-left-width: 1px;
- border-left-color: #ffffff;
- border-left-style: solid;
- white-space: nowrap;
- }
-
-TD.topbut A:link {
- color: #ffffff
- }
-
-TD.topbut A:visited {
- color: #ffff00
- }
-
-TD.topbut A:hover {
- background-color: #6060ff;
- }
-
-TD.topbut:hover {
- background-color: #6060ff
- }
-
-TD.modulebar {
- background-color: #0077dd;
- padding: 5px;
- border-top-width: 1px;
- border-top-color: #ffffff;
- border-top-style: solid;
- }
-
-/* --------- The page footer --------- */
-
-TD.botbar {
- background-color: #000099;
- color: #ffffff;
- padding: 5px
- }
-TD.botbar A:link {
- color: #ffffff;
- text-decoration: underline
- }
-TD.botbar A:visited {
- color: #ffff00
- }
-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;
-}
-
-
diff --git a/html/haskell_icon.gif b/html/themes/Classic/haskell_icon.gif
index 10589f91..10589f91 100644
--- a/html/haskell_icon.gif
+++ b/html/themes/Classic/haskell_icon.gif
Binary files differ
diff --git a/html/minus.gif b/html/themes/Classic/minus.gif
index 1deac2fe..1deac2fe 100644
--- a/html/minus.gif
+++ b/html/themes/Classic/minus.gif
Binary files differ
diff --git a/html/plus.gif b/html/themes/Classic/plus.gif
index 2d15c141..2d15c141 100644
--- a/html/plus.gif
+++ b/html/themes/Classic/plus.gif
Binary files differ
diff --git a/html/xhaddock.css b/html/themes/Classic/xhaddock.css
index 35f4b469..35f4b469 100644
--- a/html/xhaddock.css
+++ b/html/themes/Classic/xhaddock.css
diff --git a/html/hslogo-16.png b/html/themes/Ocean/hslogo-16.png
index 0ff8579f..0ff8579f 100644
--- a/html/hslogo-16.png
+++ b/html/themes/Ocean/hslogo-16.png
Binary files differ
diff --git a/html/themes/Ocean/minus.gif b/html/themes/Ocean/minus.gif
new file mode 100644
index 00000000..1deac2fe
--- /dev/null
+++ b/html/themes/Ocean/minus.gif
Binary files differ
diff --git a/html/nhaddock.css b/html/themes/Ocean/ocean.css
index f671a170..f671a170 100644
--- a/html/nhaddock.css
+++ b/html/themes/Ocean/ocean.css
diff --git a/html/themes/Ocean/plus.gif b/html/themes/Ocean/plus.gif
new file mode 100644
index 00000000..2d15c141
--- /dev/null
+++ b/html/themes/Ocean/plus.gif
Binary files differ
diff --git a/html/themes/Snappy/minus.gif b/html/themes/Snappy/minus.gif
new file mode 100644
index 00000000..1deac2fe
--- /dev/null
+++ b/html/themes/Snappy/minus.gif
Binary files differ
diff --git a/html/themes/Snappy/plus.gif b/html/themes/Snappy/plus.gif
new file mode 100644
index 00000000..2d15c141
--- /dev/null
+++ b/html/themes/Snappy/plus.gif
Binary files differ
diff --git a/html/s_haskell_icon.gif b/html/themes/Snappy/s_haskell_icon.gif
index cb2a8158..cb2a8158 100644
--- a/html/s_haskell_icon.gif
+++ b/html/themes/Snappy/s_haskell_icon.gif
Binary files differ
diff --git a/html/shaddock.css b/html/themes/Snappy/snappy.css
index 52215f93..52215f93 100644
--- a/html/shaddock.css
+++ b/html/themes/Snappy/snappy.css
diff --git a/html/themes/Tibbe/haskell_icon.gif b/html/themes/Tibbe/haskell_icon.gif
new file mode 100644
index 00000000..10589f91
--- /dev/null
+++ b/html/themes/Tibbe/haskell_icon.gif
Binary files differ
diff --git a/html/themes/Tibbe/minus.gif b/html/themes/Tibbe/minus.gif
new file mode 100644
index 00000000..1deac2fe
--- /dev/null
+++ b/html/themes/Tibbe/minus.gif
Binary files differ
diff --git a/html/themes/Tibbe/plus.gif b/html/themes/Tibbe/plus.gif
new file mode 100644
index 00000000..2d15c141
--- /dev/null
+++ b/html/themes/Tibbe/plus.gif
Binary files differ
diff --git a/html/thaddock.css b/html/themes/Tibbe/tibbe.css
index d92c269b..d92c269b 100644
--- a/html/thaddock.css
+++ b/html/themes/Tibbe/tibbe.css
diff --git a/src/Haddock/Backends/Xhtml.hs b/src/Haddock/Backends/Xhtml.hs
index 00f8e30b..94ee6347 100644
--- a/src/Haddock/Backends/Xhtml.hs
+++ b/src/Haddock/Backends/Xhtml.hs
@@ -119,7 +119,7 @@ copyHtmlBits odir libdir themes = do
copyLibFile f = do
copyFile (joinPath [libhtmldir, f]) (joinPath [odir, f])
mapM_ copyCssFile (cssFiles themes)
- mapM_ copyLibFile [ plusFile, minusFile, jsFile, framesFile ]
+ mapM_ copyLibFile [ jsFile, framesFile ]
headHtml :: String -> Maybe String -> Themes -> Html
diff --git a/src/Haddock/Backends/Xhtml/Themes.hs b/src/Haddock/Backends/Xhtml/Themes.hs
index 43339791..3274b842 100644
--- a/src/Haddock/Backends/Xhtml/Themes.hs
+++ b/src/Haddock/Backends/Xhtml/Themes.hs
@@ -22,12 +22,12 @@ import Haddock.Options
import Control.Monad (liftM)
import Data.Char (toLower)
import Data.Either (lefts, rights)
-import Data.List (nub)
+import Data.List (nub, partition)
import Data.Maybe (isJust, listToMaybe)
import System.Directory
import System.FilePath
-import Text.XHtml hiding ( name, title, p, quote )
+import Text.XHtml hiding ( name, title, p, quote, (</>) )
import qualified Text.XHtml as XHtml
@@ -41,67 +41,57 @@ data CssTheme = CssTheme {
themeFiles :: [FilePath]
}
+
type Themes = [CssTheme]
--- | Standard theme used by default
-standardTheme :: FilePath -> CssTheme
-standardTheme libDir = locateIn libDir $
- CssTheme "Ocean" "nhaddock.css" ["nhaddock.css", "hslogo-16.png"]
+type PossibleTheme = Either String CssTheme
+type PossibleThemes = Either String Themes
--- | Default themes that are part of Haddock; added with --default-themes
-defaultThemes :: FilePath -> Themes
-defaultThemes libDir = standardTheme libDir :
- (map (locateIn libDir) $ [
- CssTheme "Classic" "xhaddock.css" ["xhaddock.css", "haskell_icon.gif"],
- CssTheme "Tibbe" "thaddock.css" ["thaddock.css", "haskell_icon.gif"],
- CssTheme "Snappy" "shaddock.css" ["shaddock.css", "s_haskell_icon.gif"]
- ]
- )
+-- | Standard theme used by default
+standardTheme :: FilePath -> IO PossibleThemes
+standardTheme libDir = liftM (liftEither (take 1)) (defaultThemes libDir)
-locateIn :: FilePath -> CssTheme -> CssTheme
-locateIn libDir t = t { themeFiles = map loc (themeFiles t) }
- where loc = combine libDir . combine "html"
+-- | Default themes that are part of Haddock; added with --default-themes
+defaultThemes :: FilePath -> IO PossibleThemes
+defaultThemes libDir = do
+ themeDirs <- getDirectoryItems (libDir </> "html" </> "themes")
+ themes <- mapM directoryTheme themeDirs
+ return $ liftEither shuffle $ sequenceEither themes
+ where
+ shuffle ts = let (a,b) = partition isStd ts in a ++ b
+ isStd c = themeName c == "Ocean"
-findTheme :: Themes -> String -> Maybe CssTheme
-findTheme ts s = listToMaybe $ filter ((== ls).lower.themeName) ts
+findTheme :: String -> Themes -> Maybe CssTheme
+findTheme s = listToMaybe . filter ((== ls).lower.themeName)
where lower = map toLower
ls = lower s
-isThemeName :: Themes -> String -> Bool
-isThemeName ts = isJust . findTheme ts
-
-
-builtInTheme :: Themes -> String -> Either String CssTheme
-builtInTheme ts = maybe (Left "not found") Right . findTheme ts
-
-
--------------------------------------------------------------------------------
-- * CSS Theme Arguments
--------------------------------------------------------------------------------
-type PossibleTheme = Either String CssTheme
-- | Process input flags for CSS Theme arguments
getThemes :: FilePath -> [Flag] -> IO (Either String Themes)
getThemes libDir flags =
- liftM (someTheme . concatEither) (mapM themeFlag flags)
+ liftM concatEither (mapM themeFlag flags) >>= someTheme
where
themeFlag :: Flag -> IO (Either String Themes)
themeFlag (Flag_CSS path) = (liftM . liftEither) (:[]) (theme path)
- themeFlag (Flag_BuiltInThemes) = retRight builtIns
+ themeFlag (Flag_BuiltInThemes) = builtIns
themeFlag _ = retRight []
theme :: FilePath -> IO PossibleTheme
theme path = pick path
[(doesFileExist, singleFileTheme),
(doesDirectoryExist, directoryTheme),
- (return . isThemeName builtIns, return . builtInTheme builtIns)]
- "css theme path not found"
+ (doesBuiltInExist builtIns, builtInTheme builtIns)]
+ "Theme not found"
pick :: FilePath
-> [(FilePath -> IO Bool, FilePath -> IO PossibleTheme)] -> String
@@ -111,43 +101,56 @@ getThemes libDir flags =
pass <- test path
if pass then build path else pick path opts msg
- someTheme :: Either String Themes -> Either String Themes
- someTheme (Right []) = Right [standardTheme libDir]
- someTheme est = est
+
+ someTheme :: Either String Themes -> IO (Either String Themes)
+ someTheme (Right []) = standardTheme libDir
+ someTheme est = return est
builtIns = defaultThemes libDir
errMessage :: String -> FilePath -> IO (Either String a)
-errMessage msg path = return (Left (msg ++ ": \"" ++ path ++ "\""))
+errMessage msg path = return (Left msg')
+ where msg' = "Error: " ++ msg ++ ": \"" ++ path ++ "\"\n"
retRight :: a -> IO (Either String a)
retRight = return . Right
-singleFileTheme :: FilePath -> IO (Either String CssTheme)
+singleFileTheme :: FilePath -> IO PossibleTheme
singleFileTheme path =
if isCssFilePath path
then retRight $ CssTheme name file [path]
- else errMessage "file extension isn't .css" path
+ else errMessage "File extension isn't .css" path
where
name = takeBaseName path
file = takeFileName path
-directoryTheme :: FilePath -> IO (Either String CssTheme)
+directoryTheme :: FilePath -> IO PossibleTheme
directoryTheme path = do
items <- getDirectoryItems path
case filter isCssFilePath items of
- [] -> errMessage "no .css file in theme directory" path
[cf] -> retRight $ CssTheme (takeBaseName path) (takeFileName cf) items
- _ -> errMessage "more than one .css file in theme directory" path
+ [] -> errMessage "No .css file in theme directory" path
+ _ -> errMessage "More than one .css file in theme directory" path
+
+
+doesBuiltInExist :: IO PossibleThemes -> String -> IO Bool
+doesBuiltInExist pts s = pts >>= return . either (const False) test
+ where test = isJust . findTheme s
+
+
+builtInTheme :: IO PossibleThemes -> String -> IO PossibleTheme
+builtInTheme pts s = pts >>= return . either Left fetch
+ where fetch = maybe (Left ("Unknown theme: " ++ s)) Right . findTheme s
getDirectoryItems :: FilePath -> IO [FilePath]
getDirectoryItems path =
- getDirectoryContents path >>= return . map (combine path)
+ getDirectoryContents path >>= return . map (combine path) . filter notDot
+ where notDot s = s /= "." && s /= ".."
isCssFilePath :: FilePath -> Bool
diff --git a/src/Haddock/Backends/Xhtml/Utils.hs b/src/Haddock/Backends/Xhtml/Utils.hs
index a914d2e8..61f0894d 100644
--- a/src/Haddock/Backends/Xhtml/Utils.hs
+++ b/src/Haddock/Backends/Xhtml/Utils.hs
@@ -184,7 +184,7 @@ linkedAnchor n = anchor ! [href ('#':n)]
collapsebutton :: String -> Html
collapsebutton id_ =
- image ! [ src minusFile, theclass "coll", onclick ("toggle(this,'" ++ id_ ++ "')"), alt "show/hide" ]
+ image ! [ src "minus.gif", theclass "coll", onclick ("toggle(this,'" ++ id_ ++ "')"), alt "show/hide" ]
-- A quote is a valid part of a Haskell identifier, but it would interfere with
diff --git a/src/Haddock/Utils.hs b/src/Haddock/Utils.hs
index 003706cd..ed253433 100644
--- a/src/Haddock/Utils.hs
+++ b/src/Haddock/Utils.hs
@@ -22,7 +22,7 @@ module Haddock.Utils (
frameIndexHtmlFile,
moduleIndexFrameName, mainFrameName, synopsisFrameName,
subIndexHtmlFile,
- jsFile, plusFile, minusFile, framesFile,
+ jsFile, framesFile,
-- * Anchor and URL utilities
moduleNameUrl, moduleUrl,
@@ -257,10 +257,8 @@ makeAnchorId (f:r) = escape isAlpha f ++ concatMap (escape isLegal) r
-------------------------------------------------------------------------------
-jsFile, plusFile, minusFile, framesFile :: String
+jsFile, framesFile :: String
jsFile = "haddock-util.js"
-plusFile = "plus.gif"
-minusFile = "minus.gif"
framesFile = "frames.html"