-
Notifications
You must be signed in to change notification settings - Fork 333
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
18 changed files
with
1,015 additions
and
5 deletions.
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
.governance-contrast-section { | ||
background: linear-gradient(270deg, #0B1528 0%, rgba(11, 21, 40, 0.958333) 53.65%, #0B1528 100%); | ||
} | ||
|
||
.governance-contrast-section button { | ||
border: 1px solid #fff; | ||
color: #fff; | ||
opacity: 0.6; | ||
} | ||
|
||
.governance-contrast-section .gradient { | ||
background: -webkit-linear-gradient(left, #EFA4F2,#0076ff, #62A8FF); | ||
-webkit-background-clip: text; | ||
-webkit-text-fill-color: transparent; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,94 @@ | ||
module MemberSet = Set.Make (Data.Governance.Member) | ||
|
||
let count_members (team : Data.Governance.team) = | ||
MemberSet.cardinal (MemberSet.of_list (team.members @ List.concat (List.map (fun (team : Data.Governance.team) -> team.members) team.subteams))) | ||
|
||
let render_team_card (team : Data.Governance.team) member_label btn_class = | ||
<div class="flex-col"> | ||
<div class="text-2xl mb-5 font-semibold flex items-center"> | ||
<span><%s team.name %></span> | ||
<svg xmlns="http://www.w3.org/2000/svg" class="h-8 w-8 ml-2" fill="none" viewBox="0 0 24 24" | ||
stroke="currentColor" stroke-width="2"> | ||
<path stroke-linecap="round" stroke-linejoin="round" | ||
d="M9.75 17L9 20l-1 1h8l-1-1-.75-3M3 13h18M5 17h14a2 2 0 002-2V5a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z" /> | ||
</svg> | ||
</div> | ||
<div class="opacity-70 mb-4 text-lg"><%s team.description %></div> | ||
<div class="font-semibold mb-6"><%i count_members team %> <%s member_label %></div> | ||
<a href="<%s Url.governance_team team.id %>" class="btn <%s btn_class %>"> | ||
<span>Details</span> | ||
<svg xmlns="http://www.w3.org/2000/svg" class="h-4 w-4" fill="none" viewBox="0 0 24 24" | ||
stroke="currentColor"> | ||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5l7 7-7 7" /> | ||
</svg> | ||
</a> | ||
</div> | ||
|
||
let render ~teams ~working_groups = | ||
Layout.render | ||
~title:"Governance" | ||
~description:"OCaml is a mature, statically-typed, functional programming language. Learn more about its rich history | ||
and what makes it unique." @@ | ||
<div class="intro-section-simple"> | ||
<div class="container-fluid"> | ||
<div class="mx-auto px-4 sm:px-6"> | ||
<div class=""> | ||
<div class="sm:text-center lg:col-span-8 lg:text-center"> | ||
<h1 class="font-bold pb-6 text-[56px]">Governance</h1> | ||
<div class="text-2xl text-body-400 pb-10">The projects running under OCaml and the awesome people | ||
behind it | ||
</div> | ||
<a href="<%s Url.governance_policy %>"><button class="btn btn-lg mb-4 lg:mb-0">Read the Governance Policy</button></a> | ||
</div> | ||
</div> | ||
</div> | ||
</div> | ||
</div> | ||
|
||
<div class="governance-contrast-section"> | ||
<div class="py-10 lg:py-28"> | ||
<div class="container-fluid text-white"> | ||
<h2 class="font-bold gradient mb-6 text-[40px]">Teams</h2> | ||
<div class="text-lg"> | ||
See who the maintainers of the various OCaml projects are. We present a comprehensive list structured by project / purpose. | ||
</div> | ||
<div class="grid grid-cols-1 md:grid-cols-2 gap-20 mt-16"> | ||
<% teams |> List.iter (fun (team : Data.Governance.team) -> %> | ||
<%s! render_team_card team "maintainers" "btn-tertiary" %> | ||
<% );%> | ||
</div> | ||
</div> | ||
</div> | ||
</div> | ||
<svg width="100%" height="auto" viewBox="0 0 1600 128" fill="none" class='bg-white' xmlns="http://www.w3.org/2000/svg"> | ||
<rect width="1600" height="121" transform="translate(0 0.000244141)" fill="white" /> | ||
<circle cx="268.5" cy="68.5002" r="27.5" fill="#EE6A1A" fill-opacity="0.48" /> | ||
<path fill-rule="evenodd" clip-rule="evenodd" | ||
d="M0 106L133 87.1667C267 68.3333 533 30.6667 800 30.6667C1067 30.6667 1333 68.3333 1467 87.1667L1600 106V0H1467C1333 0 1067 0 800 0C533 0 267 0 133 0H0V106Z" | ||
fill="url(#paint0_linear_2087_13206)" /> | ||
<circle cx="200" cy="80" r="48" fill="#CC4D00" /> | ||
<defs> | ||
<linearGradient id="paint0_linear_2087_13206" x1="1600" y1="44.6059" x2="-2.29315e-07" y2="44.6059" | ||
gradientUnits="userSpaceOnUse"> | ||
<stop stop-color="#0B1528" /> | ||
<stop offset="0.536458" stop-color="#0B1528" stop-opacity="0.958333" /> | ||
<stop offset="1" stop-color="#0B1528" /> | ||
</linearGradient> | ||
</defs> | ||
</svg> | ||
|
||
<div class="bg-white"> | ||
<div class="py-10 lg:py-28"> | ||
<div class="container-fluid"> | ||
<h2 class="font-bold text-body-600 mb-6 text-[40px]">Working groups</h2> | ||
<div class="text-body-400 text-lg prose"> | ||
Working groups are community initiatives that gather around certain topics or a shared purpose. | ||
The <a href="<%s Url.governance_policy %>">OCaml Governance Policy</a> does not apply to them. Participation is welcome and encouraged.</div> | ||
<div class="grid grid-cols-1 md:grid-cols-2 gap-20 mt-16"> | ||
<% working_groups |> List.iter (fun (wg : Data.Governance.team) -> %> | ||
<%s! render_team_card wg "organiser(s)" "btn-secondary" %> | ||
<% ); %> | ||
</div> | ||
</div> | ||
</div> | ||
</div> |
Oops, something went wrong.