@@ -37,7 +37,7 @@ import qualified Text.XHtml.Strict
3737import Data.Bool (bool )
3838import Data.Maybe (fromMaybe , isJust , mapMaybe , catMaybes )
3939import Data.List (intersperse , intercalate , partition )
40- import Control.Arrow (second , Arrow (.. ))
40+ import Control.Arrow (Arrow (.. ))
4141import System.FilePath.Posix ((</>) , (<.>) )
4242
4343import qualified Documentation.Haddock.Markup as Haddock
@@ -201,11 +201,6 @@ moduleSection render mdocIndex docURL mPkgId quickNav = case renderedModules of
201201 renderedModules :: [(LibraryName , ModSigIndex )]
202202 renderedModules = rendModules render mdocIndex
203203
204- tabulate :: [(String , Html )] -> Html
205- tabulate items = table ! [theclass " properties" ] <<
206- [tr << [th << t, td << d] | (t, d) <- items]
207-
208-
209204renderDependencies :: PackageRender -> (String , Html )
210205renderDependencies render =
211206 (" Dependencies" , summary +++ detailsLink)
@@ -236,12 +231,23 @@ nonbreakingSpan :: Html -> Html
236231nonbreakingSpan str = thespan ! [thestyle " white-space: nowrap" ] << str
237232
238233renderDetailedDependencies :: PackageRender -> Html
239- renderDetailedDependencies pkgRender =
240- tabulate $ map (second (fromMaybe noDeps . render)) targets
234+ renderDetailedDependencies pkgRender
235+ = mconcat (mapMaybe renderComponentType componentsByType)
236+
241237 where
242- targets :: [(String , DependencyTree )]
243- targets = (first (rendLibName pkgRender) <$> rendLibraryDeps pkgRender)
244- ++ rendExecutableDeps pkgRender
238+ componentsByType :: [(String , [(ComponentName , DependencyTree )])]
239+ componentsByType =
240+ [ (" Libraries" , first CLibName <$> rendLibraryDeps pkgRender)
241+ , (" Executables" , rendExecutableDeps pkgRender)
242+ ]
243+
244+ renderComponentType :: (String , [(ComponentName , DependencyTree )]) -> Maybe Html
245+ renderComponentType (_, [] ) = Nothing
246+ renderComponentType (componentType, items) = Just $ mconcat
247+ [ h2 << componentType
248+ , flip foldMap items $ \ (componentName, deptree) ->
249+ h3 << rendComponentName pkgRender componentName +++ fromMaybe noDeps (render deptree)
250+ ]
245251
246252 noDeps = list [toHtml " No dependencies" ]
247253
@@ -257,7 +263,7 @@ renderDetailedDependencies pkgRender =
257263 NotBuildable -> [strong << " buildable:" +++ " False" ]
258264
259265 list :: [Html ] -> Html
260- list items = thediv ! [identifier " detailed-dependencies" ] << unordList items
266+ list items = unordList items ! [identifier " detailed-dependencies" ]
261267
262268 renderComponent :: CondBranch ConfVar [Dependency ] IsBuildable
263269 -> Maybe Html
0 commit comments