Skip to content

◐ adds dark mode theme #247

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 2 commits into
base: hakyll
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ _cache/
_site/
stack.yaml.lock
dist-newstyle/
.DS_Store

### General ###
*~
298 changes: 148 additions & 150 deletions affiliates/about/index.html

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion assets/css/main.css

Large diffs are not rendered by default.

91 changes: 91 additions & 0 deletions assets/css/theme.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
:root {
--logo-gold: #ffbe00;
}

body {
--bg-color: #FFFFFF;
--bg-header: #000000;
--bg-text: #000000;

--mg-color: #F4F4F5;
--mg-header: #000000;
--mg-text: #3D3D40; // #71717A;

--fg-color: #27272A;
--fg-header: #FAFAFA;
--fg-text: #D4D4D8;

--anchor: #6D28D9;
--bg-nav: transparent;
}

@media (prefers-color-scheme: dark) {
body {
--bg-color: #646066;
--bg-header: #FFFFFF; // #747279;
--bg-text: #FFFFFF; // #f4f1e2;

--mg-color: #333333;
--mg-header: #FFFFFF;
--mg-text: #FEFEFE;

--fg-color: #5E5184;
--fg-header: #FFFFFF;
--fg-text: #fefefe;

--anchor: #EB82DC;
--bg-nav: #393939;
}
}

.theme-gold {
color: var(--logo-gold);
}

.theme-nav {
background-color: var(--bg-nav);
}

.theme-background, .theme-background :is(p, li, .prose) {
background-color: var(--bg-color);
color: var(--bg-text);
}

.theme-background :is(h1, h2, h3, h4, h5, h6) {
color: var(--bg-header);
}

.theme-background ul > li:before {
background-color: var(--anchor);
}

.theme-middle-ground, .theme-middle-ground :is(p, li, .prose) {
background-color: var(--mg-color);
color: var(--mg-text);
}

.theme-middle-ground :is(h1, h2, h3, h4, h5, h6) {
color: var(--mg-header);
}

.theme-foreground, .theme-foreground :is(p, li, .prose) {
background-color: var(--fg-color);
color: var(--fg-text);
}

.theme-foreground :is(h1, h2, h3, h4, h5, h6) {
color: var(--fg-header);
}

.theme-icon, :is(.theme-nav, .theme-background, .theme-middle-ground, .theme-foreground) a:not(:hover) {
color: var(--anchor);
}

a p {
color: inherit;
}

.theme-list > * {
border-top-width: 1px;
border-color: rgba(150, 150, 150, 0.3);
}
26 changes: 26 additions & 0 deletions assets/images/logos/hf-logo-gold-svg.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
18 changes: 9 additions & 9 deletions assets/js/main.js
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ whoWeAreButton.addEventListener('mouseover', () => {
});
whoWeAreButton.addEventListener('mouseout', () => {
whoWeAreButtonTimeout = setTimeout(() => {
whoWeAreMenu.classList.add('hidden');
whoWeAreMenu.classList.add('hidden');
}, 200);
});

Expand All @@ -47,10 +47,10 @@ whoWeAreMenu.addEventListener('mouseover', () => {
whoWeAreMenu.addEventListener('mouseout', function(event) {
var e = event.toElement || event.relatedTarget;
if (e.parentNode == this || e == this) {
return;
return;
}
whoWeAreMenuTimeout = setTimeout(() => {
whoWeAreMenu.classList.add('hidden');
whoWeAreMenu.classList.add('hidden');
}, 200);
}, true);

Expand All @@ -68,7 +68,7 @@ affiliatesButton.addEventListener('mouseover', () => {
});
affiliatesButton.addEventListener('mouseout', () => {
affiliatesButtonTimeout = setTimeout(() => {
affiliatesMenu.classList.add('hidden');
affiliatesMenu.classList.add('hidden');
}, 200);
});

Expand All @@ -78,10 +78,10 @@ affiliatesMenu.addEventListener('mouseover', () => {
affiliatesMenu.addEventListener('mouseout', function(event) {
var e = event.toElement || event.relatedTarget;
if (e.parentNode == this || e == this) {
return;
return;
}
affiliatesMenuTimeout = setTimeout(() => {
affiliatesMenu.classList.add('hidden');
affiliatesMenu.classList.add('hidden');
}, 200);
}, true);

Expand All @@ -100,7 +100,7 @@ newsButton.addEventListener('mouseover', () => {
});
newsButton.addEventListener('mouseout', () => {
newsButtonTimeout = setTimeout(() => {
newsMenu.classList.add('hidden');
newsMenu.classList.add('hidden');
}, 200);
});

Expand All @@ -110,9 +110,9 @@ newsMenu.addEventListener('mouseover', () => {
newsMenu.addEventListener('mouseout', function(event) {
var e = event.toElement || event.relatedTarget;
if (e.parentNode == this || e == this) {
return;
return;
}
newsMenuTimeout = setTimeout(() => {
newsMenu.classList.add('hidden');
newsMenu.classList.add('hidden');
}, 200);
}, true);
168 changes: 84 additions & 84 deletions board-nominations/2022/index.html
Original file line number Diff line number Diff line change
@@ -1,88 +1,86 @@
---
title: 2022 Board Nominations for the Haskell Foundation
---
<div class="max-w-screen-xl mx-auto py-16 md:py-24">
<div class="sm:px-6 lg:px-16">
<div class="relative">
<div class="absolute top-0 left-0 border-t border-l border-purple-50 h-10 md:h-20 w-10 md:w-20">
<div class="absolute top-1 md:top-2 left-1 md:left-2 border-t border-l border-purple-100 h-10 md:h-20 w-10 md:w-20">
<div class="absolute top-1 md:top-2 left-1 md:left-2 border-t border-l border-purple-200 h-10 md:h-20 w-10 md:w-20">
<div class="absolute top-1 md:top-2 left-1 md:left-2 border-t border-l border-purple-300 h-10 md:h-20 w-10 md:w-20">
<div class="absolute top-1 md:top-2 left-1 md:left-2 border-t border-l border-purple-400 h-10 md:h-20 w-10 md:w-20">
<div class="absolute top-1 md:top-2 left-1 md:left-2 border-t border-l border-purple-500 h-10 md:h-20 w-10 md:w-20"></div>
<div class="max-w-screen-xl mx-auto py-16 md:py-24">
<div class="sm:px-6 lg:px-16">
<div class="relative">
<div class="absolute top-0 left-0 border-t border-l border-purple-50 h-10 md:h-20 w-10 md:w-20">
<div class="absolute top-1 md:top-2 left-1 md:left-2 border-t border-l border-purple-100 h-10 md:h-20 w-10 md:w-20">
<div class="absolute top-1 md:top-2 left-1 md:left-2 border-t border-l border-purple-200 h-10 md:h-20 w-10 md:w-20">
<div class="absolute top-1 md:top-2 left-1 md:left-2 border-t border-l border-purple-300 h-10 md:h-20 w-10 md:w-20">
<div class="absolute top-1 md:top-2 left-1 md:left-2 border-t border-l border-purple-400 h-10 md:h-20 w-10 md:w-20">
<div class="absolute top-1 md:top-2 left-1 md:left-2 border-t border-l border-purple-500 h-10 md:h-20 w-10 md:w-20"></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="absolute top-0 right-0 border-t border-r border-purple-50 h-10 md:h-20 w-10 md:w-20">
<div class="absolute top-1 md:top-2 right-1 md:right-2 border-t border-r border-purple-100 h-10 md:h-20 w-10 md:w-20">
<div class="absolute top-1 md:top-2 right-1 md:right-2 border-t border-r border-purple-200 h-10 md:h-20 w-10 md:w-20">
<div class="absolute top-1 md:top-2 right-1 md:right-2 border-t border-r border-purple-300 h-10 md:h-20 w-10 md:w-20">
<div class="absolute top-1 md:top-2 right-1 md:right-2 border-t border-r border-purple-400 h-10 md:h-20 w-10 md:w-20">
<div class="absolute top-1 md:top-2 right-1 md:right-2 border-t border-r border-purple-500 h-10 md:h-20 w-10 md:w-20"></div>
<div class="absolute top-0 right-0 border-t border-r border-purple-50 h-10 md:h-20 w-10 md:w-20">
<div class="absolute top-1 md:top-2 right-1 md:right-2 border-t border-r border-purple-100 h-10 md:h-20 w-10 md:w-20">
<div class="absolute top-1 md:top-2 right-1 md:right-2 border-t border-r border-purple-200 h-10 md:h-20 w-10 md:w-20">
<div class="absolute top-1 md:top-2 right-1 md:right-2 border-t border-r border-purple-300 h-10 md:h-20 w-10 md:w-20">
<div class="absolute top-1 md:top-2 right-1 md:right-2 border-t border-r border-purple-400 h-10 md:h-20 w-10 md:w-20">
<div class="absolute top-1 md:top-2 right-1 md:right-2 border-t border-r border-purple-500 h-10 md:h-20 w-10 md:w-20"></div>
</div>
</div>
</div>
</div>
</div>
</div>

</div>
</div>
<div class="text-center pt-12 md:pt-20 px-12 sm:px-16 md:px-24 lg:px-36 ">
<h1 class="text-2xl-5xl">2022 Call for Nominations for the Haskell Foundation</h1>

</div>
<div class="text-center pt-12 md:pt-20 px-12 sm:px-16 md:px-24 lg:px-36 ">
<h1 class="text-2xl-5xl">2022 Call for Nominations for the Haskell Foundation</h1>

</div>
</div>
</div>

<div class="px-4 sm:px-8 md:px-12 lg:px-16">
<div class="mx-auto prose md:prose-lg">

<p>
The Board of Directors of the Haskell Foundation is pleased to announce the nomination process for Board seats.
As per the <a href="https://gitlab.haskell.org/hf/meta/-/blob/main/board.md#7-board-membership-lifecycle">
Board membership lifecycle rules</a>, and since the current board has 13 members, at most one position may
be filled by this call. Note that the Board may also choose to not elect any new members at this stage, since it is
not about to drop below the minimum of 8 members.
</p>

<p>
The Board provides the strategic leadership for the Foundation, and is the final decision-making body for everything
the Foundation does. More specifically, it ensures that the Foundation is working toward achieving its mission,
and it appoints and supervises senior members of Foundation staff.
</p>

<h2>The Foundation Board</h2>
<h3>Membership</h3>

<ul>
<li> Being a member of the Foundation Board means giving you the opportunity to contribute directly to the
strategic direction of the Foundation, to help build the Haskell community, and to help promote the broader
adoption of functional programming. </li>
<li> Being a member of the Board is not an honorary post; it involves real work. There will typically be ad-hoc or
permanent working groups, on which Board members are expected to serve or chair. </li>
<li> Currently, the Board meets for one hour every two weeks, with attendance taken.
Board members may excuse themselves from meeting by an email to the Chair, but such excuses should ideally be
infrequent. </li>
<li> Once appointed, Board members should act in the best interests of the Foundation and the entire Haskell
community; they are not appointed to represent the interests of a particular group. </li>
</ul>

<h3>Criteria</h3>
<p> Nominations for membership of the Board will be evaluated against the following criteria: </p>

<ul>
<li>You have a positive drive and vision for the Haskell community and ecosystem</li>
<li>You have a track record of contribution to the Haskell community and ecosystem</li>
<li>You are widely trusted and respected in the community.</li>
<li>You have enough time and energy to devote to being a member of the board; it is not an honorary position!</li>
</ul>

<div class="px-4 sm:px-8 md:px-12 lg:px-16">
<div class="mx-auto prose md:prose-lg">

<p>
The Board of Directors of the Haskell Foundation is pleased to announce the nomination process for Board seats.
As per the <a href="https://gitlab.haskell.org/hf/meta/-/blob/main/board.md#7-board-membership-lifecycle">
Board membership lifecycle rules</a>, and since the current board has 13 members, at most one position may
be filled by this call. Note that the Board may also choose to not elect any new members at this stage, since it is
not about to drop below the minimum of 8 members.
</p>

<p>
The Board provides the strategic leadership for the Foundation, and is the final decision-making body for everything
the Foundation does. More specifically, it ensures that the Foundation is working toward achieving its mission,
and it appoints and supervises senior members of Foundation staff.
</p>

<h2>The Foundation Board</h2>
<h3>Membership</h3>

<ul>
<li> Being a member of the Foundation Board means giving you the opportunity to contribute directly to the
strategic direction of the Foundation, to help build the Haskell community, and to help promote the broader
adoption of functional programming. </li>
<li> Being a member of the Board is not an honorary post; it involves real work. There will typically be ad-hoc or
permanent working groups, on which Board members are expected to serve or chair. </li>
<li> Currently, the Board meets for one hour every two weeks, with attendance taken.
Board members may excuse themselves from meeting by an email to the Chair, but such excuses should ideally be
infrequent. </li>
<li> Once appointed, Board members should act in the best interests of the Foundation and the entire Haskell
community; they are not appointed to represent the interests of a particular group. </li>
</ul>

<h3>Criteria</h3>
<p> Nominations for membership of the Board will be evaluated against the following criteria: </p>

<ul>
<li>You have a positive drive and vision for the Haskell community and ecosystem</li>
<li>You have a track record of contribution to the Haskell community and ecosystem</li>
<li>You are widely trusted and respected in the community.</li>
<li>You have enough time and energy to devote to being a member of the board; it is not an honorary position!</li>
</ul>

<p>
Moreover, the Haskell Foundation Board aims to reflect the priorities of Haskell’s various constituencies, including:
</p>
<p>
Moreover, the Haskell Foundation Board aims to reflect the priorities of Haskell’s various constituencies, including:
</p>

<ul>
<li>Companies that use Haskell in production, and Haskell consultancies; giving this group a stronger voice is one of the HF’s main goals.</li>
Expand All @@ -93,23 +91,25 @@ <h3>Criteria</h3>
<li>Functional programming researchers who build on and/or develop Haskell.</li>
</ul>

<p>NB: nominations are also welcome from individuals who meet other criteria but do not represent any particular constituency.</p>
<p>NB: nominations are also welcome from individuals who meet other criteria but do not represent any particular constituency.</p>

<p>Simultaneously hitting all these criteria is nigh impossible. However, each subsequent round of nominations for new Board members offers a fresh chance to rectify any imbalances.</p>
<p>Simultaneously hitting all these criteria is nigh impossible. However, each subsequent round of nominations for new Board members offers a fresh chance to rectify any imbalances.</p>

<h3>Nominations</h3>
<p>Please submit your nomination to <a href="mailto:nominations@haskell.foundation">nominations@haskell.foundation</a>, by 1st March 2022.</p>
<h3>Nominations</h3>
<p>Please submit your nomination to <a href="mailto:nominations@haskell.foundation">nominations@haskell.foundation</a>, by 1st March 2022.</p>

<p>Your nomination should be accompanied by a brief CV and a covering letter that says</p>
<p>Your nomination should be accompanied by a brief CV and a covering letter that says</p>

<ul>
<li>How you fit the above criteria.</li>
<li>Why you would like to be a Board member</li>
<li>What you feel you could contribute</li>
</ul>
<ul>
<li>How you fit the above criteria.</li>
<li>Why you would like to be a Board member</li>
<li>What you feel you could contribute</li>
</ul>

<p>
For further information about the nomination process, please contact the secretariat of the Foundation
(Secretary Théophile Hécate Choutri and Vice Secretary José Pedro Magalhães) at
<a href=mailto:secretariat@haskell.foundation>secretariat@haskell.foundation</a>.
</p>
<p>
For further information about the nomination process, please contact the secretariat of the Foundation
(Secretary Théophile Hécate Choutri and Vice Secretary José Pedro Magalhães) at
<a href=mailto:secretariat@haskell.foundation>secretariat@haskell.foundation</a>.
</p>
</div>
</div>
Loading