mirror of
https://github.com/commercialhaskell/stackage-server.git
synced 2026-01-27 19:30:25 +01:00
Show README and changelog from metadata table
@snoyberg Check out these locally when your data is generated, they demonstrate varying readme and changelog formats. http://localhost:3000/package/yesod-core http://localhost:3000/package/fay http://localhost:3000/package/base http://localhost:3000/package/conduit http://localhost:3000/package/aeson http://localhost:3000/package/bytestring Pity there's no standard CHANGELOG format but it's better than nothing and looks pretty in the conduit/base case.
This commit is contained in:
parent
d195dea789
commit
b1d9b7e6d9
@ -13,7 +13,6 @@ import qualified Database.Esqueleto as E
|
|||||||
import Formatting
|
import Formatting
|
||||||
import Import
|
import Import
|
||||||
import Text.Email.Validate
|
import Text.Email.Validate
|
||||||
import Text.Markdown
|
|
||||||
|
|
||||||
-- | Page metadata package.
|
-- | Page metadata package.
|
||||||
getPackageR :: PackageName -> Handler Html
|
getPackageR :: PackageName -> Handler Html
|
||||||
@ -38,9 +37,7 @@ getPackageR pn = do
|
|||||||
recentDownloads <- count [DownloadPackage ==. pn, DownloadTimestamp >=. nowMinus30]
|
recentDownloads <- count [DownloadPackage ==. pn, DownloadTimestamp >=. nowMinus30]
|
||||||
metadata <- getBy404 (UniqueMetadata pn)
|
metadata <- getBy404 (UniqueMetadata pn)
|
||||||
return (packages, downloads, recentDownloads, metadata)
|
return (packages, downloads, recentDownloads, metadata)
|
||||||
readmeText <- return "TODO"
|
let deps = enumerate (metadataDeps metadata)
|
||||||
let readmeHtml = markdown def readmeText
|
|
||||||
deps = enumerate (metadataDeps metadata)
|
|
||||||
authors = enumerate (parseIdentitiesLiberally (metadataAuthor metadata))
|
authors = enumerate (parseIdentitiesLiberally (metadataAuthor metadata))
|
||||||
maintainers = let ms = enumerate (parseIdentitiesLiberally (metadataMaintainer metadata))
|
maintainers = let ms = enumerate (parseIdentitiesLiberally (metadataMaintainer metadata))
|
||||||
in if ms == authors
|
in if ms == authors
|
||||||
|
|||||||
@ -109,12 +109,22 @@ $newline never
|
|||||||
<td>
|
<td>
|
||||||
<a href=@{StackageHomeR ident}>#{fromMaybe title $ stripSuffix ", exclusive" title}
|
<a href=@{StackageHomeR ident}>#{fromMaybe title $ stripSuffix ", exclusive" title}
|
||||||
|
|
||||||
<div .readme-container>
|
<div .markdown-container .readme-container>
|
||||||
<div .container>
|
<div .container>
|
||||||
<div .row>
|
<div .row>
|
||||||
<div .span12>
|
<div .span12>
|
||||||
<div .readme>
|
#{metadataReadme metadata}
|
||||||
#{readmeHtml}
|
|
||||||
|
$maybe log <- metadataChangelog metadata
|
||||||
|
<div .container>
|
||||||
|
<div .row>
|
||||||
|
<div .span12>
|
||||||
|
<h2 .changes-title>Changes
|
||||||
|
<div .markdown-container .changelog-container>
|
||||||
|
<div .container>
|
||||||
|
<div .row>
|
||||||
|
<div .span12>
|
||||||
|
#{log}
|
||||||
|
|
||||||
<div .container>
|
<div .container>
|
||||||
<div .row>
|
<div .row>
|
||||||
|
|||||||
@ -79,13 +79,13 @@ h3 {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.readme-container {
|
.markdown-container {
|
||||||
margin-top: 1em;
|
margin-top: 1em;
|
||||||
border-top: 1px solid #ddd;
|
border-top: 1px solid #ddd;
|
||||||
padding-top: 1em;
|
padding-top: 1em;
|
||||||
margin-bottom: 0em;
|
margin-bottom: 0em;
|
||||||
border-bottom: 1px solid #ddd;
|
border-bottom: 1px solid #ddd;
|
||||||
padding-bottom: 2em;
|
padding-bottom: 1em;
|
||||||
background: #f4f4f4;
|
background: #f4f4f4;
|
||||||
|
|
||||||
h1,h2,h3,h4,h5 {
|
h1,h2,h3,h4,h5 {
|
||||||
@ -124,3 +124,19 @@ h3 {
|
|||||||
padding: 1em;
|
padding: 1em;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.changelog-container {
|
||||||
|
margin-top: 0.5em;
|
||||||
|
h1 { font-size: 1.2em; }
|
||||||
|
h2,h3,h4,h5 { font-size: 1.2em; }
|
||||||
|
}
|
||||||
|
|
||||||
|
h2.changes-title {
|
||||||
|
margin-top: 1em;
|
||||||
|
font-size: 1.5em;
|
||||||
|
color: #555;
|
||||||
|
}
|
||||||
|
|
||||||
|
.readme-container {
|
||||||
|
margin-top: 1em;
|
||||||
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user