@@ -37,7 +37,7 @@ import qualified Text.XHtml.Strict
37
37
import Data.Bool (bool )
38
38
import Data.Maybe (fromMaybe , isJust , mapMaybe , catMaybes )
39
39
import Data.List (intersperse , intercalate , partition )
40
- import Control.Arrow (second , Arrow (.. ))
40
+ import Control.Arrow (Arrow (.. ))
41
41
import System.FilePath.Posix ((</>) , (<.>) )
42
42
43
43
import qualified Documentation.Haddock.Markup as Haddock
@@ -201,11 +201,6 @@ moduleSection render mdocIndex docURL mPkgId quickNav = case renderedModules of
201
201
renderedModules :: [(LibraryName , ModSigIndex )]
202
202
renderedModules = rendModules render mdocIndex
203
203
204
- tabulate :: [(String , Html )] -> Html
205
- tabulate items = table ! [theclass " properties" ] <<
206
- [tr << [th << t, td << d] | (t, d) <- items]
207
-
208
-
209
204
renderDependencies :: PackageRender -> (String , Html )
210
205
renderDependencies render =
211
206
(" Dependencies" , summary +++ detailsLink)
@@ -236,12 +231,23 @@ nonbreakingSpan :: Html -> Html
236
231
nonbreakingSpan str = thespan ! [thestyle " white-space: nowrap" ] << str
237
232
238
233
renderDetailedDependencies :: PackageRender -> Html
239
- renderDetailedDependencies pkgRender =
240
- tabulate $ map (second (fromMaybe noDeps . render)) targets
234
+ renderDetailedDependencies pkgRender
235
+ = mconcat (mapMaybe renderComponentType componentsByType)
236
+
241
237
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
+ ]
245
251
246
252
noDeps = list [toHtml " No dependencies" ]
247
253
@@ -257,7 +263,7 @@ renderDetailedDependencies pkgRender =
257
263
NotBuildable -> [strong << " buildable:" +++ " False" ]
258
264
259
265
list :: [Html ] -> Html
260
- list items = thediv ! [identifier " detailed-dependencies" ] << unordList items
266
+ list items = unordList items ! [identifier " detailed-dependencies" ]
261
267
262
268
renderComponent :: CondBranch ConfVar [Dependency ] IsBuildable
263
269
-> Maybe Html
0 commit comments