From 6a7c5fef87106a92e710413259262ab2b1e78005 Mon Sep 17 00:00:00 2001 From: Nuno Alexandre Date: Sat, 3 Feb 2018 21:39:30 +0100 Subject: Make the style consistent with hackage Several things are addressed here: - better responsive behaviour on the header - better space usage - consistent colors overall - other nit PR comments --- haddock-api/src/Haddock/Backends/Xhtml/Layout.hs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'haddock-api/src/Haddock/Backends/Xhtml') diff --git a/haddock-api/src/Haddock/Backends/Xhtml/Layout.hs b/haddock-api/src/Haddock/Backends/Xhtml/Layout.hs index 1c44ffda..bdf989ed 100644 --- a/haddock-api/src/Haddock/Backends/Xhtml/Layout.hs +++ b/haddock-api/src/Haddock/Backends/Xhtml/Layout.hs @@ -74,8 +74,8 @@ sectionName = paragraph ! [theclass "caption"] -- If it would have otherwise been empty, then give it the class ".empty". nonEmptySectionName :: Html -> Html nonEmptySectionName c - | isNoHtml c = paragraph ! [theclass "caption empty"] $ spaceHtml - | otherwise = paragraph ! [theclass "caption"] $ c + | isNoHtml c = thediv ! [theclass "caption empty"] $ spaceHtml + | otherwise = thediv ! [theclass "caption"] $ c divPackageHeader, divContent, divModuleHeader, divFooter, -- cgit v1.2.3 From 365c77dfc39a28e4b5fd7eaeb802edcc9df196f4 Mon Sep 17 00:00:00 2001 From: Nuno Alexandre Date: Sat, 21 Apr 2018 16:25:56 +0200 Subject: Make package-header caption backward-compatible The current html generator of this branch wraps the package-header caption as a div, which does not work (without style adjustments) with the old themes. Changing it from div to span does the trick, without needing to adjust the old stylesheets. --- haddock-api/src/Haddock/Backends/Xhtml/Layout.hs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'haddock-api/src/Haddock/Backends/Xhtml') diff --git a/haddock-api/src/Haddock/Backends/Xhtml/Layout.hs b/haddock-api/src/Haddock/Backends/Xhtml/Layout.hs index bdf989ed..10a6d499 100644 --- a/haddock-api/src/Haddock/Backends/Xhtml/Layout.hs +++ b/haddock-api/src/Haddock/Backends/Xhtml/Layout.hs @@ -74,8 +74,8 @@ sectionName = paragraph ! [theclass "caption"] -- If it would have otherwise been empty, then give it the class ".empty". nonEmptySectionName :: Html -> Html nonEmptySectionName c - | isNoHtml c = thediv ! [theclass "caption empty"] $ spaceHtml - | otherwise = thediv ! [theclass "caption"] $ c + | isNoHtml c = thespan ! [theclass "caption empty"] $ spaceHtml + | otherwise = thespan ! [theclass "caption"] $ c divPackageHeader, divContent, divModuleHeader, divFooter, -- cgit v1.2.3 From 2a46036ea4e2e6bb6505ebbfd3e4609aeb7c3845 Mon Sep 17 00:00:00 2001 From: Alec Theriault Date: Wed, 7 Nov 2018 10:22:31 -0800 Subject: Fix issues around plus/minus * swap the minimize unicode to something more intuitive * use new unicode expander/collapser for instance lists * address some alignment issues in the "index" page --- ghc.mk | 3 --- haddock-api/haddock-api.cabal | 3 --- haddock-api/resources/html/NewOcean.std-theme/minus.gif | Bin 56 -> 0 bytes .../resources/html/NewOcean.std-theme/new-ocean.css | 14 ++++++-------- haddock-api/resources/html/NewOcean.std-theme/plus.gif | Bin 59 -> 0 bytes haddock-api/src/Haddock/Backends/Xhtml.hs | 1 + haddock-api/src/Haddock/Backends/Xhtml/Layout.hs | 7 ++++--- 7 files changed, 11 insertions(+), 17 deletions(-) delete mode 100644 haddock-api/resources/html/NewOcean.std-theme/minus.gif delete mode 100644 haddock-api/resources/html/NewOcean.std-theme/plus.gif (limited to 'haddock-api/src/Haddock/Backends/Xhtml') diff --git a/ghc.mk b/ghc.mk index a10fd61a..d3b02b6e 100644 --- a/ghc.mk +++ b/ghc.mk @@ -45,10 +45,7 @@ utils/haddock_dist_DATA_FILES += html/Ocean.theme/minus.gif utils/haddock_dist_DATA_FILES += html/Ocean.theme/ocean.css utils/haddock_dist_DATA_FILES += html/Ocean.theme/plus.gif utils/haddock_dist_DATA_FILES += html/Ocean.theme/synopsis.png -utils/haddock_dist_DATA_FILES += html/NewOcean.std-theme/hslogo-16.png -utils/haddock_dist_DATA_FILES += html/NewOcean.std-theme/minus.gif utils/haddock_dist_DATA_FILES += html/NewOcean.std-theme/new-ocean.css -utils/haddock_dist_DATA_FILES += html/NewOcean.std-theme/plus.gif utils/haddock_dist_DATA_FILES += html/NewOcean.std-theme/synopsis.png utils/haddock_dist_DATA_FILES += html/solarized.css utils/haddock_dist_DATA_FILES += html/highlight.js diff --git a/haddock-api/haddock-api.cabal b/haddock-api/haddock-api.cabal index d5c976b6..a410f436 100644 --- a/haddock-api/haddock-api.cabal +++ b/haddock-api/haddock-api.cabal @@ -34,10 +34,7 @@ data-files: html/Ocean.theme/ocean.css html/Ocean.theme/plus.gif html/Ocean.theme/synopsis.png - html/NewOcean.std-theme/hslogo-16.png - html/NewOcean.std-theme/minus.gif html/NewOcean.std-theme/new-ocean.css - html/NewOcean.std-theme/plus.gif html/NewOcean.std-theme/synopsis.png latex/haddock.sty diff --git a/haddock-api/resources/html/NewOcean.std-theme/minus.gif b/haddock-api/resources/html/NewOcean.std-theme/minus.gif deleted file mode 100644 index 1deac2fe..00000000 Binary files a/haddock-api/resources/html/NewOcean.std-theme/minus.gif and /dev/null differ diff --git a/haddock-api/resources/html/NewOcean.std-theme/new-ocean.css b/haddock-api/resources/html/NewOcean.std-theme/new-ocean.css index 8416176c..7568032f 100644 --- a/haddock-api/resources/html/NewOcean.std-theme/new-ocean.css +++ b/haddock-api/resources/html/NewOcean.std-theme/new-ocean.css @@ -352,7 +352,7 @@ ul.links li a { .show { display: inherit; } .clear { clear: both; } -.collapser:before, .expander:before { +.collapser:before, .expander:before, .noexpander:before { font-size: 1.2em; color: #9C5791; display: inline-block; @@ -360,11 +360,15 @@ ul.links li a { } .collapser:before { - content: '⊗'; + content: '⊖'; } .expander:before { content: "⊕"; } +.noexpander:before { + content: "⊕"; + visibility: hidden; +} .collapser, .expander { cursor: pointer; @@ -380,12 +384,6 @@ ul.links li a { summary { cursor: pointer; outline: none; - list-style-image: url(plus.gif); - list-style-position: outside; -} - -details[open] > summary { - list-style-image: url(minus.gif); } pre { diff --git a/haddock-api/resources/html/NewOcean.std-theme/plus.gif b/haddock-api/resources/html/NewOcean.std-theme/plus.gif deleted file mode 100644 index 2d15c141..00000000 Binary files a/haddock-api/resources/html/NewOcean.std-theme/plus.gif and /dev/null differ diff --git a/haddock-api/src/Haddock/Backends/Xhtml.hs b/haddock-api/src/Haddock/Backends/Xhtml.hs index 2b8bdd69..2206b7dc 100644 --- a/haddock-api/src/Haddock/Backends/Xhtml.hs +++ b/haddock-api/src/Haddock/Backends/Xhtml.hs @@ -324,6 +324,7 @@ mkNode pkg qual ss p (Node s leaf _pkg srcPkg short ts) = cBtn = case (ts, leaf) of (_:_, Just _) -> thespan ! collapseControl p "" << spaceHtml + ([] , Just _) -> thespan ! [theclass "noexpander"] << spaceHtml (_, _ ) -> noHtml -- We only need an explicit collapser button when the module name -- is also a leaf, and so is a link to a module page. Indeed, the diff --git a/haddock-api/src/Haddock/Backends/Xhtml/Layout.hs b/haddock-api/src/Haddock/Backends/Xhtml/Layout.hs index 10a6d499..c935bc5f 100644 --- a/haddock-api/src/Haddock/Backends/Xhtml/Layout.hs +++ b/haddock-api/src/Haddock/Backends/Xhtml/Layout.hs @@ -195,17 +195,18 @@ subEquations :: Maybe Package -> Qualification -> [SubDecl] -> Html subEquations pkg qual = divSubDecls "equations" "Equations" . subTable pkg qual --- | Generate sub table for instance declarations, with source +-- | Generate collapsible sub table for instance declarations, with source subInstances :: Maybe Package -> Qualification -> String -- ^ Class name, used for anchor generation -> LinksInfo -> Bool -> [(SubDecl, Maybe Module, Located DocName)] -> Html subInstances pkg qual nm lnks splice = maybe noHtml wrap . instTable where - wrap contents = subSection (collapseDetails id_ DetailsOpen (summary +++ contents)) + wrap contents = subSection (hdr +++ collapseDetails id_ DetailsOpen (summary +++ contents)) instTable = subTableSrc pkg qual lnks splice subSection = thediv ! [theclass "subs instances"] - summary = thesummary << "Instances" + hdr = h4 ! collapseControl id_ "instances" << "Instances" + summary = thesummary ! [ theclass "hide-when-js-enabled" ] << "Instances details" id_ = makeAnchorId $ "i:" ++ nm -- cgit v1.2.3 From ad157c408cd7ad4badec71a84551a836a343f27b Mon Sep 17 00:00:00 2001 From: Alec Theriault Date: Wed, 7 Nov 2018 13:31:19 -0800 Subject: Allow "Contents" summary to scroll in a fixed div In the unfortunate event that the "Contents" summary doesn't fit vertically (like in the "Prelude"), it will be scrollable. --- .../resources/html/NewOcean.std-theme/new-ocean.css | 18 ++++++++---------- haddock-api/src/Haddock/Backends/Xhtml.hs | 4 ++-- haddock-api/src/Haddock/Backends/Xhtml/Layout.hs | 5 +++-- 3 files changed, 13 insertions(+), 14 deletions(-) (limited to 'haddock-api/src/Haddock/Backends/Xhtml') diff --git a/haddock-api/resources/html/NewOcean.std-theme/new-ocean.css b/haddock-api/resources/html/NewOcean.std-theme/new-ocean.css index 7568032f..906b3954 100644 --- a/haddock-api/resources/html/NewOcean.std-theme/new-ocean.css +++ b/haddock-api/resources/html/NewOcean.std-theme/new-ocean.css @@ -81,6 +81,9 @@ body.js-enabled .hide-when-js-enabled { position: fixed; max-width: 10vw; top: 10.2em; + left: 2em; + bottom: 1em; + overflow-y: scroll; } #synopsis { @@ -96,10 +99,6 @@ body.js-enabled .hide-when-js-enabled { z-index: 1; } - #table-of-contents { - left: 2em; - } - #synopsis .show { border: 1px solid #5E5184; padding: 0.7em; @@ -518,7 +517,7 @@ div#style-menu-holder { /* @group Front Matter */ #synopsis .caption, -#table-of-contents .caption { +#contents-list .caption { font-size: 1rem; } @@ -526,26 +525,25 @@ div#style-menu-holder { font-size: 16px; } -#table-of-contents { +#contents-list { background: #f7f7f7; padding: 1em; margin: 0; - margin-top: 1em; } -#table-of-contents .caption { +#contents-list .caption { text-align: left; margin: 0; } -#table-of-contents ul { +#contents-list ul { list-style: none; margin: 0; margin-top: 10px; font-size: 14px; } -#table-of-contents ul ul { +#contents-list ul ul { margin-left: 1.5em; } diff --git a/haddock-api/src/Haddock/Backends/Xhtml.hs b/haddock-api/src/Haddock/Backends/Xhtml.hs index 2206b7dc..e2fdc509 100644 --- a/haddock-api/src/Haddock/Backends/Xhtml.hs +++ b/haddock-api/src/Haddock/Backends/Xhtml.hs @@ -633,9 +633,9 @@ ppModuleContents pkg qual exports orphan | null sections && not orphan = noHtml | otherwise = contentsDiv where - contentsDiv = divTableOfContents << ( + contentsDiv = divTableOfContents << (divContentsList << ( sectionName << "Contents" +++ - unordList (sections ++ orphanSection)) + unordList (sections ++ orphanSection))) (sections, _leftovers{-should be []-}) = process 0 exports orphanSection diff --git a/haddock-api/src/Haddock/Backends/Xhtml/Layout.hs b/haddock-api/src/Haddock/Backends/Xhtml/Layout.hs index c935bc5f..25d8b07a 100644 --- a/haddock-api/src/Haddock/Backends/Xhtml/Layout.hs +++ b/haddock-api/src/Haddock/Backends/Xhtml/Layout.hs @@ -15,7 +15,7 @@ module Haddock.Backends.Xhtml.Layout ( divPackageHeader, divContent, divModuleHeader, divFooter, divTableOfContents, divDescription, divSynopsis, divInterface, - divIndex, divAlphabet, divModuleList, + divIndex, divAlphabet, divModuleList, divContentsList, sectionName, nonEmptySectionName, @@ -80,7 +80,7 @@ nonEmptySectionName c divPackageHeader, divContent, divModuleHeader, divFooter, divTableOfContents, divDescription, divSynopsis, divInterface, - divIndex, divAlphabet, divModuleList + divIndex, divAlphabet, divModuleList, divContentsList :: Html -> Html divPackageHeader = sectionDiv "package-header" @@ -88,6 +88,7 @@ divContent = sectionDiv "content" divModuleHeader = sectionDiv "module-header" divFooter = sectionDiv "footer" divTableOfContents = sectionDiv "table-of-contents" +divContentsList = sectionDiv "contents-list" divDescription = sectionDiv "description" divSynopsis = sectionDiv "synopsis" divInterface = sectionDiv "interface" -- cgit v1.2.3