Merge pull request #156 from juhp/master

improvements to package pages
This commit is contained in:
Michael Snoyman 2016-02-21 15:20:50 +02:00
commit b9c12a3518
4 changed files with 28 additions and 19 deletions

View File

@ -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")

View File

@ -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 =

View File

@ -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

View File

@ -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;