mirror of
https://github.com/commercialhaskell/stackage-server.git
synced 2026-02-16 12:55:47 +01:00
Add package links too #215
This commit is contained in:
parent
7e342157f9
commit
8fb3678d5b
@ -156,7 +156,10 @@ runHoogleQuery renderUrl snapshot hoogledb HoogleQueryInput {..} =
|
|||||||
fixResult Hoogle.Target {..} = HoogleResult
|
fixResult Hoogle.Target {..} = HoogleResult
|
||||||
{ hrURL = case sources of
|
{ hrURL = case sources of
|
||||||
[(_,[ModuleLink _ m])] -> m ++ haddockAnchorFromUrl targetURL
|
[(_,[ModuleLink _ m])] -> m ++ haddockAnchorFromUrl targetURL
|
||||||
_ -> fromMaybe targetURL moduleLink
|
_ -> fromMaybe targetURL $ asum
|
||||||
|
[ moduleLink
|
||||||
|
, packageLink
|
||||||
|
]
|
||||||
, hrSources = sources
|
, hrSources = sources
|
||||||
, hrTitle = -- FIXME find out why these replaces are necessary
|
, hrTitle = -- FIXME find out why these replaces are necessary
|
||||||
unpack $ T.replace "<0>" "" $ T.replace "</0>" "" $ pack
|
unpack $ T.replace "<0>" "" $ T.replace "</0>" "" $ pack
|
||||||
@ -186,6 +189,15 @@ runHoogleQuery renderUrl snapshot hoogledb HoogleQueryInput {..} =
|
|||||||
mname <- T.stripPrefix "module " item
|
mname <- T.stripPrefix "module " item
|
||||||
return $ T.unpack $ renderUrl $ haddockUrl snapshot (T.pack pname) mname
|
return $ T.unpack $ renderUrl $ haddockUrl snapshot (T.pack pname) mname
|
||||||
|
|
||||||
|
packageLink = do
|
||||||
|
Nothing <- Just targetPackage
|
||||||
|
"package" <- Just targetType
|
||||||
|
let doc = Text.HTML.DOM.parseLBS $ encodeUtf8 $ pack targetItem
|
||||||
|
cursor = fromDocument doc
|
||||||
|
item = T.concat $ cursor $// content
|
||||||
|
pname <- T.stripPrefix "package " item
|
||||||
|
return $ T.unpack $ renderUrl $ SnapshotR snapshot $ StackageSdistR $ PNVName $ PackageName pname
|
||||||
|
|
||||||
haddockAnchorFromUrl =
|
haddockAnchorFromUrl =
|
||||||
('#':) . reverse . takeWhile (/='#') . reverse
|
('#':) . reverse . takeWhile (/='#') . reverse
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user