Skip to content

Commit 0d08566

Browse files
authored
Merge pull request #119 from Maeevick/feat/hakyll-projects-page-migration
Feat/hakyll projects page migration
2 parents ddfb227 + 6f33493 commit 0d08566

11 files changed

+266
-418
lines changed
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
---
2+
status: ideation
3+
title: GHC Performance Dashboards
4+
link: https://gitlab.haskell.org/ghc/ghc
5+
link-text: https://gitlab.haskell.org/ghc/ghc
6+
subtitle: Project Leaders
7+
leader0name: Ben Gamari
8+
leader0img: project-leads/bg.png
9+
leader0mail: [email protected]
10+
leader1name: Matthew Pickering
11+
leader1img: project-leads/mp.png
12+
leader1mail: [email protected]
13+
---
14+
The Haskell Foundation is working with the GHC team to help provide dashboard monitors for Haskell critical libraries (e.g. Aeson, Text, Bytestring).

projects/ghc-platform-ci.markdown

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
---
2+
status: ideation
3+
title: GHC Platform CI
4+
link: https://gitlab.haskell.org/ghc/ghc
5+
link-text: https://gitlab.haskell.org/ghc/ghc
6+
subtitle: Project Leaders
7+
leader0name: Ben Gamari
8+
leader0img: project-leads/bg.png
9+
leader0mail: [email protected]
10+
leader1name: Moritz Angermann
11+
leader1img: project-leads/ma.png
12+
leader1mail: [email protected]
13+
---
14+
The Haskell Foundation is working with the GHC team to provide a better build experience for GHC, allowing them to iterate quicker, fix bugs faster, and make our tools better.
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
---
2+
status: ideation
3+
title: Performance Tuning Book
4+
link: https://github.com/haskellfoundation/gotta-go-fast
5+
link-text: haskellfoundation/gotta-go-fast
6+
subtitle: Project Leaders/Advisors
7+
leader0name: Gil Mizrahi
8+
leader0img: project-leads/gm.png
9+
leader0mail: [email protected]
10+
leader1name: Emily Pillmore
11+
leader1img: exec-team/ep.png
12+
leader1mail: [email protected]
13+
---
14+
A community-led book-writing effort that captures the general wisdom for how to make Haskell programs go fast.

projects/project-matchmaker.markdown

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
---
2+
status: inprogress
3+
title: Project Matchmaker
4+
link: https://github.com/haskellfoundation/matchmaker
5+
link-text: github.com/haskellfoundation/matchmaker
6+
subtitle: Project Leaders/Advisors
7+
leader1name: Théophile "Hécate" Choutri
8+
leader1img: board-members/thc.png
9+
leader1mail: [email protected]
10+
---
11+
A common framework for linking Haskell maintainers to prospective contributors.

projects/text-utf8-migration.markdown

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
---
2+
status: inprogress
3+
title: Text-UTF8 Migration
4+
link: https://github.com/haskell/text
5+
link-text: https://github.com/haskell/text
6+
subtitle: Project Leaders
7+
leader0name: Andrew Lelechenko
8+
leader0img: board-members/al.png
9+
leader0mail: [email protected]
10+
leader1name: Emily Pillmore
11+
leader1img: exec-team/ep.png
12+
leader1mail: [email protected]
13+
---
14+
The UTF-8 character set encoding is the industry standard. Haskell Foundation is driving the effort behind the migration of the core text libraries to use UTF-8 as a default. This will have a positive effect on text performance of many Haskell programs.
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
---
2+
status: proposed
3+
title: Unified Haskell Installer
4+
link: https://gitlab.haskell.org/haskell/ghcup-hs
5+
link-text: haskell/ghcup-hs
6+
subtitle: Project Leaders/Advisors
7+
leader0name: Chris Dornan
8+
leader0img: board-members/cd.png
9+
leader0mail: [email protected]
10+
leader1name: Julian Ospald
11+
leader1img: project-leads/jo.png
12+
leader1mail: [email protected]
13+
leader2name: Michael Snoyman
14+
leader2img: board-members/ms.png
15+
leader2mail: [email protected]
16+
---
17+
Building a universal installer for Haskell toolchains. This effort brings together the Stack and GHCup teams to help build a single installer that will allow HLS, Cabal, Stack, and GHC installations on all major platforms from a single tool.
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
---
2+
status: ideation
3+
title: Vector Types Proposal
4+
link: https://www.snoyman.com/blog/2021/03/haskell-base-proposal/
5+
link-text: vector types proposal
6+
subtitle: Project Leaders
7+
leader0name: Michael Snoyman
8+
leader0img: board-members/ms.png
9+
leader0mail: [email protected]
10+
---
11+
A proposal for providing a common fusion framework and underlying primitives for stringy data structures in base.

site.hs

Lines changed: 35 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
import Hakyll
77
import Control.Monad (filterM)
8-
import Data.List (sortBy)
8+
import Data.List (sortOn)
99
import Data.Ord (comparing)
1010

1111
config :: Configuration
@@ -25,11 +25,10 @@ main = hakyll $ do
2525

2626
match "index.html" $ do
2727
route idRoute
28-
compile $ do
29-
getResourceBody
30-
>>= applyAsTemplate defaultContext
31-
>>= loadAndApplyTemplate "templates/boilerplate.html" defaultContext
32-
>>= relativizeUrls
28+
compile $ getResourceBody
29+
>>= applyAsTemplate defaultContext
30+
>>= loadAndApplyTemplate "templates/boilerplate.html" defaultContext
31+
>>= relativizeUrls
3332

3433
match "affiliates/*.markdown" $ do
3534
route $ setExtension "html"
@@ -41,31 +40,46 @@ main = hakyll $ do
4140
match "affiliates/index.html" $ do
4241
route idRoute
4342
compile $ do
44-
ctx <- affiliatesCtx <$>
45-
sortBy (comparing itemIdentifier) <$> loadAll "affiliates/*.markdown"
43+
ctx <- affiliatesCtx . sortOn itemIdentifier <$> loadAll "affiliates/*.markdown"
4644

4745
getResourceBody
4846
>>= applyAsTemplate ctx
4947
>>= loadAndApplyTemplate "templates/boilerplate.html" ctx
5048
>>= relativizeUrls
5149

52-
-- match "**/index.html" $ do
53-
-- route idRoute
54-
-- compile $ do
55-
-- getResourceBody
56-
-- >>= applyAsTemplate defaultContext
57-
-- >>= loadAndApplyTemplate "templates/boilerplate.html" defaultContext
58-
-- >>= relativizeUrls
50+
match "projects/*.markdown" $ compile pandocCompiler
5951

60-
match "templates/*" $ compile templateBodyCompiler
52+
create ["projects/index.html"] $ do
53+
route idRoute
54+
compile $ do
55+
ctx <- projectsCtx . sortOn itemIdentifier <$> loadAll "projects/*.markdown"
56+
57+
makeItem ""
58+
>>= loadAndApplyTemplate "templates/projects/list.html" ctx
59+
>>= loadAndApplyTemplate "templates/boilerplate.html" ctx
60+
>>= relativizeUrls
61+
62+
match "templates/**" $ compile templateBodyCompiler
63+
-- match "templates/**/*" $ compile templateBodyCompiler
6164

6265
-- | Partition affiliates into affiliates and pending
6366
affiliatesCtx :: [Item String] -> Context String
6467
affiliatesCtx tuts =
65-
listField "affiliated" defaultContext (ofStatus "affiliated") <>
66-
listField "pending" defaultContext (ofStatus "pending") <>
68+
listField "affiliated" defaultContext (ofStatus "affiliated" tuts) <>
69+
listField "pending" defaultContext (ofStatus "pending" tuts) <>
6770
defaultContext
68-
where
69-
ofStatus ty = filterM (\item -> do
71+
72+
-- | Partition projects into : Ideation | Proposed | In Progress | Completed
73+
projectsCtx :: [Item String] -> Context String
74+
projectsCtx p =
75+
listField "ideas" defaultContext (ofStatus "ideation" p) <>
76+
listField "proposals" defaultContext (ofStatus "proposed" p) <>
77+
listField "inprogress" defaultContext (ofStatus "inprogress" p) <>
78+
listField "completed" defaultContext (ofStatus "completed" p) <>
79+
defaultContext
80+
81+
ofStatus :: String -> [Item String] -> Compiler [Item String]
82+
ofStatus v = filterM (\item -> do
7083
mbStatus <- getMetadataField (itemIdentifier item) "status"
71-
return $ Just ty == mbStatus) tuts
84+
return $ Just v == mbStatus
85+
)

0 commit comments

Comments
 (0)