diff --git a/public/assets/sponsors/eu-flag.svg b/public/assets/sponsors/eu-flag.svg new file mode 100644 index 0000000..0c3298a --- /dev/null +++ b/public/assets/sponsors/eu-flag.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/sponsors/g10-logo.pdf b/public/assets/sponsors/g10-logo.pdf new file mode 100644 index 0000000..6ff83af Binary files /dev/null and b/public/assets/sponsors/g10-logo.pdf differ diff --git a/public/assets/sponsors/g10-logo.svg b/public/assets/sponsors/g10-logo.svg new file mode 100644 index 0000000..7c05d36 --- /dev/null +++ b/public/assets/sponsors/g10-logo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/assets/sponsors/g10code-white.svg b/public/assets/sponsors/g10code-white.svg new file mode 100644 index 0000000..14d5b55 --- /dev/null +++ b/public/assets/sponsors/g10code-white.svg @@ -0,0 +1,31 @@ + + + +Created by potrace 1.16, written by Peter Selinger 2001-2019 + + + + + diff --git a/public/assets/sponsors/g10code.svg b/public/assets/sponsors/g10code.svg new file mode 100644 index 0000000..d4bd85f --- /dev/null +++ b/public/assets/sponsors/g10code.svg @@ -0,0 +1,12 @@ + + + +Created by potrace 1.16, written by Peter Selinger 2001-2019 + + + + + diff --git a/public/assets/sponsors/intevation-white.svg b/public/assets/sponsors/intevation-white.svg new file mode 100644 index 0000000..8be998a --- /dev/null +++ b/public/assets/sponsors/intevation-white.svg @@ -0,0 +1,264 @@ + + + + + + + + + + + + martin.pohlmann@intevation.de + + Intevation GmbH + + Intevation Logo + + https://intevation.de + + Copyright 2020 Intevation GmbH + + intevation-logo-text-darkmode + + 2021-03-26 + + de + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/assets/sponsors/intevation.svg b/public/assets/sponsors/intevation.svg new file mode 100644 index 0000000..58051f9 --- /dev/null +++ b/public/assets/sponsors/intevation.svg @@ -0,0 +1,262 @@ + + + + + + + + + + + + martin.pohlmann@intevation.de + + Intevation GmbH + + Intevation Logo + + https://intevation.de + + Copyright 2020 Intevation GmbH + + intevation-logo-text + + 2021-03-26 + + de + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/assets/sponsors/mozilla-white.svg b/public/assets/sponsors/mozilla-white.svg new file mode 100644 index 0000000..caceb8f --- /dev/null +++ b/public/assets/sponsors/mozilla-white.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/assets/sponsors/mozilla.svg b/public/assets/sponsors/mozilla.svg new file mode 100644 index 0000000..39d0b97 --- /dev/null +++ b/public/assets/sponsors/mozilla.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/assets/sponsors/ngi-zero-pet.svg b/public/assets/sponsors/ngi-zero-pet.svg new file mode 100644 index 0000000..8584d27 --- /dev/null +++ b/public/assets/sponsors/ngi-zero-pet.svg @@ -0,0 +1,211 @@ + +image/svg+xml + + + + + + + + + diff --git a/public/assets/sponsors/nlnet-white.svg b/public/assets/sponsors/nlnet-white.svg new file mode 100644 index 0000000..93df503 --- /dev/null +++ b/public/assets/sponsors/nlnet-white.svg @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/assets/sponsors/nlnet.svg b/public/assets/sponsors/nlnet.svg new file mode 100644 index 0000000..373c8d8 --- /dev/null +++ b/public/assets/sponsors/nlnet.svg @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/assets/sponsors/ribose-white.svg b/public/assets/sponsors/ribose-white.svg new file mode 100644 index 0000000..9968d57 --- /dev/null +++ b/public/assets/sponsors/ribose-white.svg @@ -0,0 +1 @@ +ribose logo normal \ No newline at end of file diff --git a/public/assets/sponsors/ribose.svg b/public/assets/sponsors/ribose.svg new file mode 100644 index 0000000..d98b022 --- /dev/null +++ b/public/assets/sponsors/ribose.svg @@ -0,0 +1 @@ +ribose logo normal \ No newline at end of file diff --git a/src/components/SiteFooter.astro b/src/components/SiteFooter.astro index eaf96b6..c556e01 100644 --- a/src/components/SiteFooter.astro +++ b/src/components/SiteFooter.astro @@ -2,6 +2,7 @@ import SymbolLogo from './brand/SymbolLogo.astro'; import Wordmark from './brand/Wordmark.astro'; import ThunderbirdBird from './brand/ThunderbirdBird.astro'; +import Sponsors from './Sponsors.astro'; const year = new Date().getFullYear(); @@ -118,8 +119,11 @@ const columns = [ )) } +
+ +

Copyright © {year} Ribose Group Inc. — All rights reserved.

diff --git a/src/components/Sponsors.astro b/src/components/Sponsors.astro new file mode 100644 index 0000000..f0b7129 --- /dev/null +++ b/src/components/Sponsors.astro @@ -0,0 +1,202 @@ +--- +interface Props { + variant?: 'band' | 'strip' | 'inline'; + class?: string; +} + +const { variant = 'band', class: className = '' } = Astro.props; + +// Single source of truth for RNP's public funder attribution. +// See memory/project_sponsors.md for verified provenance. +const funders = [ + { + name: 'NLnet Foundation', + href: 'https://nlnet.nl/', + logo: '/assets/sponsors/nlnet.svg', + logoDark: '/assets/sponsors/nlnet-white.svg', + logoClass: 'h-9 w-auto', + blurb: 'Privacy & trust enhancing technology grant.', + }, + { + name: 'NGI Zero PET', + href: 'https://nlnet.nl/thema/NGIZeroPET.html', + logo: '/assets/sponsors/ngi-zero-pet.svg', + logoDark: '/assets/sponsors/ngi-zero-pet.svg', + logoClass: 'h-7 w-auto', + blurb: + 'Next Generation Internet — Privacy & Trust Enhancing Technologies. Funded through the European Commission.', + }, + { + name: 'Mozilla', + href: 'https://github.com/mozilla/moss-directory', + logo: '/assets/sponsors/mozilla.svg', + logoDark: '/assets/sponsors/mozilla-white.svg', + logoClass: 'h-7 w-auto', + blurb: + 'Mozilla Open Source Support (MOSS) — Foundational Technology & Secure Open Source funds.', + }, +]; + +const eu = { + text: 'Funded by the European Union — Next Generation Internet', + href: 'https://ngi.eu/', + flag: '/assets/sponsors/eu-flag.svg', +}; +--- + +{ + variant === 'band' && ( +

+
+
+ Supported by + {funders.map((f) => ( + + {`${f.name} + {f.logoDark !== f.logo && ( + + )} + + ))} +
+ + + {eu.text} + +
+
+ ) +} + +{ + variant === 'strip' && ( +
+ + Funded by + + {funders.map((f, i) => ( + + + {f.name} + + {i < funders.length - 1 && ( + + )} + + ))} + + + + {eu.text} + +
+ ) +} + +{ + variant === 'inline' && ( +
+ {funders.map((f) => ( + + ))} +
+ ) +} + + diff --git a/src/pages/about.astro b/src/pages/about.astro index 0ddc934..d906ccd 100644 --- a/src/pages/about.astro +++ b/src/pages/about.astro @@ -2,6 +2,7 @@ import BaseLayout from '../layouts/BaseLayout.astro'; import PageHero from '../components/PageHero.astro'; import SectionHeader from '../components/SectionHeader.astro'; +import Sponsors from '../components/Sponsors.astro'; import SymbolLogo from '../components/brand/SymbolLogo.astro'; import Wordmark from '../components/brand/Wordmark.astro'; import Reveal from '../components/vue/Reveal.vue'; @@ -90,26 +91,35 @@ const partners = [ name: 'Mozilla', desc: 'RNP powers end-to-end email encryption in Thunderbird.', href: 'https://www.mozilla.org/', + logo: '/assets/sponsors/mozilla.svg', + logoDark: '/assets/sponsors/mozilla-white.svg', + logoClass: 'h-7 w-auto', + }, + { + name: 'g10 Code', + desc: 'Developers of GnuPG.', + href: 'https://g10code.com', + logo: '/assets/sponsors/g10-logo.svg', + logoDark: '/assets/sponsors/g10-logo.svg', + logoClass: 'h-10 w-auto', }, - { name: 'g10 Code', desc: 'Deep OpenPGP expertise and collaboration.', href: 'https://g10code.com' }, { name: 'Intevation', - desc: 'Long-standing partner in the OpenPGP ecosystem.', + desc: 'Developers of Gpg4win.', href: 'https://intevation.de', + logo: '/assets/sponsors/intevation.svg', + logoDark: '/assets/sponsors/intevation-white.svg', + logoClass: 'h-7 w-auto', }, ]; const funders = [ - { name: 'Ribose', desc: 'Creator and primary maintainer of RNP.', href: 'https://www.ribose.com' }, { - name: 'Mozilla', - desc: 'Through the Mozilla Open Source Support (MOSS) program.', - href: 'https://www.mozilla.org/en-US/moss/', - }, - { - name: 'NLnet Foundation', - desc: 'Supporting open standards and a more open Internet.', - href: 'https://nlnet.nl', + name: 'Ribose', + desc: 'Creator and primary maintainer of RNP.', + href: 'https://www.ribose.com', + logo: '/assets/sponsors/ribose.svg', + logoDark: '/assets/sponsors/ribose-white.svg', }, ]; --- @@ -283,24 +293,59 @@ const funders = [
+
+
+ “RNP is also supported by a dedicated community of developers who contribute + to its ongoing development and improvement.” +
+
+ Community comes first — partners and funders back the work, but the people + shipping it are the people in the room. +
+

RNP collaborates closely with

{ partners.map((p) => ( -
-

- - {p.name} - -

-

+

)) } @@ -308,29 +353,51 @@ const funders = [

RNP is funded by

-
+ +
{ funders.map((f) => ( -
-

- - {f.name} - -

-

{f.desc}

+
+ + {`${f.name} + + +
+

+ + {f.name} + +

+

{f.desc}

+
)) }
-

- RNP is also supported by a dedicated community of developers who contribute to its - ongoing development and improvement. -

diff --git a/src/pages/index.astro b/src/pages/index.astro index 191b635..60deb81 100644 --- a/src/pages/index.astro +++ b/src/pages/index.astro @@ -2,6 +2,7 @@ import { getCollection } from 'astro:content'; import BaseLayout from '../layouts/BaseLayout.astro'; import SectionHeader from '../components/SectionHeader.astro'; +import Sponsors from '../components/Sponsors.astro'; import ThunderbirdBird from '../components/brand/ThunderbirdBird.astro'; import HeroDecrypt from '../components/vue/HeroDecrypt.vue'; import FingerprintPlayground from '../components/vue/FingerprintPlayground.vue'; @@ -122,6 +123,9 @@ const releaseDate = release.publishedAt.slice(0, 10);
+ + +