mirror of
https://github.com/commercialhaskell/stackage-server.git
synced 2026-02-07 08:37:28 +01:00
commit
b9c12a3518
@ -7,6 +7,7 @@ module Handler.Package
|
|||||||
, getPackageSnapshotsR
|
, getPackageSnapshotsR
|
||||||
, packagePage
|
, packagePage
|
||||||
, getPackageBadgeR
|
, getPackageBadgeR
|
||||||
|
, renderNoPackages
|
||||||
) where
|
) where
|
||||||
|
|
||||||
import Data.Char
|
import Data.Char
|
||||||
@ -161,13 +162,13 @@ data Identifier
|
|||||||
--
|
--
|
||||||
parseIdentitiesLiberally :: Text -> [Identifier]
|
parseIdentitiesLiberally :: Text -> [Identifier]
|
||||||
parseIdentitiesLiberally =
|
parseIdentitiesLiberally =
|
||||||
filter (not . empty) .
|
filter (not . emptyPlainText) .
|
||||||
map strip .
|
map strip .
|
||||||
concatPlains .
|
concatPlains .
|
||||||
map parseChunk .
|
map parseChunk .
|
||||||
T.split (== ',')
|
T.split (== ',')
|
||||||
where empty (PlainText e) = T.null e
|
where emptyPlainText (PlainText e) = T.null e
|
||||||
empty _ = False
|
emptyPlainText _ = False
|
||||||
strip (PlainText t) = PlainText (T.strip t)
|
strip (PlainText t) = PlainText (T.strip t)
|
||||||
strip x = x
|
strip x = x
|
||||||
concatPlains = go
|
concatPlains = go
|
||||||
@ -226,3 +227,7 @@ getPackageSnapshotsR pn =
|
|||||||
$(combineStylesheets 'StaticR
|
$(combineStylesheets 'StaticR
|
||||||
[css_font_awesome_min_css])
|
[css_font_awesome_min_css])
|
||||||
$(widgetFile "package-snapshots"))
|
$(widgetFile "package-snapshots"))
|
||||||
|
|
||||||
|
renderNoPackages :: Int -> Text
|
||||||
|
renderNoPackages n =
|
||||||
|
T.pack $ show n ++ " package" ++ (if n == 1 then "" else "s")
|
||||||
|
|||||||
@ -470,7 +470,7 @@ snapshotTitle :: Snapshot -> Text
|
|||||||
snapshotTitle s = prettyName (snapshotName s) (snapshotGhc s)
|
snapshotTitle s = prettyName (snapshotName s) (snapshotGhc s)
|
||||||
|
|
||||||
prettyName :: SnapName -> Text -> Text
|
prettyName :: SnapName -> Text -> Text
|
||||||
prettyName name ghc = concat [prettyNameShort name, " - GHC ", ghc]
|
prettyName name ghc = concat [prettyNameShort name, " (ghc-", ghc, ")"]
|
||||||
|
|
||||||
prettyNameShort :: SnapName -> Text
|
prettyNameShort :: SnapName -> Text
|
||||||
prettyNameShort name =
|
prettyNameShort name =
|
||||||
|
|||||||
@ -15,9 +15,7 @@ $newline never
|
|||||||
<a href="@{PackageR $ PackageName pn}">
|
<a href="@{PackageR $ PackageName pn}">
|
||||||
#{pn}
|
#{pn}
|
||||||
<h1>
|
<h1>
|
||||||
#{pn} #
|
#{pn}
|
||||||
<span .latest-version>
|
|
||||||
#{displayedVersion} #
|
|
||||||
<p .synopsis>
|
<p .synopsis>
|
||||||
#{synopsis}
|
#{synopsis}
|
||||||
\ #
|
\ #
|
||||||
@ -25,11 +23,19 @@ $newline never
|
|||||||
<a href="#{url}">
|
<a href="#{url}">
|
||||||
#{url}
|
#{url}
|
||||||
|
|
||||||
$forall (idx, li) <- enumerate latests
|
$forall li <- latests
|
||||||
$if idx /= 0
|
<div>
|
||||||
, #
|
<a href=@{SnapshotR (liSnapName li) StackageHomeR}>
|
||||||
<a href=@{SnapshotR (liSnapName li) StackageHomeR}>
|
#{prettyName (liSnapName li) (liGhc li)}
|
||||||
#{prettyName (liSnapName li) (liGhc li)} (#{liVersion li})
|
\: #
|
||||||
|
<span .version>
|
||||||
|
#{liVersion li}
|
||||||
|
<div>
|
||||||
|
<a href="https://hackage.haskell.org/package/#{pn}">
|
||||||
|
Hackage
|
||||||
|
\: #
|
||||||
|
<span .version>
|
||||||
|
#{displayedVersion} #
|
||||||
|
|
||||||
$if null latests
|
$if null latests
|
||||||
<p .add-to-nightly>
|
<p .add-to-nightly>
|
||||||
@ -41,8 +47,7 @@ $newline never
|
|||||||
<div .span12>
|
<div .span12>
|
||||||
<div .authorship>
|
<div .authorship>
|
||||||
<span .license>
|
<span .license>
|
||||||
<a href="">
|
#{packageLicenseName package} licensed #
|
||||||
#{packageLicenseName package} licensed #
|
|
||||||
$if null maintainers
|
$if null maintainers
|
||||||
and maintained #
|
and maintained #
|
||||||
$if not (null authors)
|
$if not (null authors)
|
||||||
@ -117,7 +122,7 @@ $if not (LT.null (LT.renderHtml (packageChangelog package)))
|
|||||||
<div .row>
|
<div .row>
|
||||||
<div .span12>
|
<div .span12>
|
||||||
<div .dependencies #dependencies>
|
<div .dependencies #dependencies>
|
||||||
Depends on
|
Depends on:
|
||||||
<div .dep-list>
|
<div .dep-list>
|
||||||
$forall (i,(name, range)) <- deps
|
$forall (i,(name, range)) <- deps
|
||||||
$if i /= 0
|
$if i /= 0
|
||||||
@ -126,7 +131,7 @@ $if not (LT.null (LT.renderHtml (packageChangelog package)))
|
|||||||
#{name}
|
#{name}
|
||||||
$if not $ null revdeps
|
$if not $ null revdeps
|
||||||
<div .reverse-dependencies .expanding #reverse-dependencies>
|
<div .reverse-dependencies .expanding #reverse-dependencies>
|
||||||
Used by
|
Used by #{renderNoPackages $ length revdeps}:
|
||||||
<div .dep-list>
|
<div .dep-list>
|
||||||
$forall (i,(name, range)) <- revdeps
|
$forall (i,(name, range)) <- revdeps
|
||||||
$if i /= 0
|
$if i /= 0
|
||||||
|
|||||||
@ -11,9 +11,8 @@ h3 {
|
|||||||
width: auto;
|
width: auto;
|
||||||
margin-left: auto;
|
margin-left: auto;
|
||||||
}
|
}
|
||||||
.latest-version {
|
.version {
|
||||||
color: #777;
|
font-weight: bold;
|
||||||
font-size: 24.5px;
|
|
||||||
}
|
}
|
||||||
#disqus_thread {
|
#disqus_thread {
|
||||||
margin-top: 2em;
|
margin-top: 2em;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user