Skip to content
Open
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
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,5 @@ public/
.DS_Store
# Local Netlify folder
.netlify
.hugo_build.lock
.hugo_build.lock
resources/_gen/
46 changes: 43 additions & 3 deletions assets/sass/main.scss
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,20 @@ body {
color: $primary_color !important;
}

.navbar-logo {
width: 130px;
}

#footer-logo {
max-width: 300px;
// width: 100%;
max-height: 55px;
height: 55px;
margin-bottom: 5px;
}

.footer-logo-img {
height: 55px;
}

.footer-text a {
text-decoration: underline;
text-decoration-color: $brand_mint;
Expand Down Expand Up @@ -441,4 +448,37 @@ div[data-netlify-site-id] {
/* Netlify Collaborate Drawer */
display: none;
pointer-events: none;
}
}

.blog-excerpt-item {
margin-bottom: 20px;
h2 {
margin-bottom: 0.5rem;
}
.excerpt {
margin-bottom: 0.5rem;
}
}

.blog-excerpt-item + .blog-excerpt-item {
margin-top: 2.5rem;
}

.blog-excerpt-item h2 {
margin-bottom: 0.5rem;
}

.blog-excerpt-item a {
text-decoration: none;

&:hover {
text-decoration: underline;
}
}

.blog-excerpt-item time {
display: block;
font-size: 0.875rem;
color: #4b5563;
margin-bottom: 0.5rem;
}
4 changes: 2 additions & 2 deletions content/en/blog/2023-12-28-EOY-letter-2023.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ display_default_footer: true
---

<div class="card border-0 pic-quote-right">
<img alt="Sarah Gran" class="mx-auto img-fluid" src="/images/blog/Sarah-Gran-Headshot.jpg" />
{{< optimized-image src="images/blog/Sarah-Gran-Headshot.jpg" alt="Sarah Gran" class="mx-auto img-fluid" maxWidth="520" >}}
</div>

_This letter was originally published in our [2023 Annual Report](https://www.abetterinternet.org/documents/2023-ISRG-Annual-Report.pdf)._
Expand All @@ -25,4 +25,4 @@ Our newest project, [Divvi Up](http://divviup.org), brought on our first two sub

We hired Kristin Berdan to fill a new role as General Counsel and her impact is already apparent within our organization. She joins Sarah Heil, our CFO, Josh, and me in ISRG leadership.

Collectively, we operate three impactful and growing projects for $7 million a year. This is possible because of the amazing leadership assembled across our teams and the ongoing commitment from our community to validate the usefulness of our work. As we look toward 2024 and the challenges and opportunities that face us, I ask that you join us in building a more secure and privacy respecting Internet by sponsoring us, making a donation or gift through your DAF, or sharing with the folks you know why security and privacy matter to them.
Collectively, we operate three impactful and growing projects for $7 million a year. This is possible because of the amazing leadership assembled across our teams and the ongoing commitment from our community to validate the usefulness of our work. As we look toward 2024 and the challenges and opportunities that face us, I ask that you join us in building a more secure and privacy respecting Internet by sponsoring us, making a donation or gift through your DAF, or sharing with the folks you know why security and privacy matter to them.
2 changes: 1 addition & 1 deletion content/en/blog/2024-12-11-EOY-letter-2024.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ display_default_footer: true
---

<div class="card border-0 pic-quote-right">
<img alt="Josh Aas" class="mx-auto img-fluid" src="/images/blog/Josh-Aas-Headshot.jpg" />
{{< optimized-image src="images/blog/Josh-Aas-Headshot.jpg" alt="Josh Aas" class="mx-auto img-fluid" maxWidth="520" >}}
</div>

_This letter was originally published in our [2024 Annual Report](https://abetterinternet.org/documents/2024-ISRG-Annual-Report.pdf)._
Expand Down
4 changes: 2 additions & 2 deletions content/en/blog/2025-02-11-hickory-update-2025.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ excerpt: "A high performance, memory safe, and open source recursive DNS resolve


<div class="card border-0 pic-quote-right">
<img alt="Hickory DNS logo" class="mx-auto img-fluid" src="/images/blog/blog-2025-02-11-Hickory-DNS.png" />
{{< optimized-image src="images/blog/blog-2025-02-11-Hickory-DNS.png" alt="Hickory DNS logo" class="mx-auto img-fluid" maxWidth="520" >}}
</div>

The Domain Name System (DNS) is a foundational part of the Internet. It stores data associated with domain names, like web server addresses and mail server addresses. Almost all network connections are preceded by a DNS lookup. The most popular DNS server implementations are written in C, and as a result, they have been affected by a series of memory safety vulnerabilities. These vulnerabilities can put DNS infrastructure at risk, as well as any system that depends on DNS.
Expand Down Expand Up @@ -58,4 +58,4 @@ If you are interested in trying out Hickory DNS as a memory safe alternative, th

Benjamin Fry is the creator of Hickory and has been a great partner along this journey. We'd like to thank the Sovereign Tech Agency for their financial support of Prossimo to fund improvements to Hickory DNS and craig newmark philanthropies for ongoing support to improve memory safety in critical infrastructure.

If you're interested in updates on Hickory and our memory safety work in general, subscribe to the mailing list below.
If you're interested in updates on Hickory and our memory safety work in general, subscribe to the mailing list below.
2 changes: 1 addition & 1 deletion content/en/sponsor.html
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ <h3><a name="in-your-workplace"></a>In Your Workplace</h3>
<div id="dd-wrapper">
<div id="dd-container">
<script src="https://donorbox.org/widget.js" type="text/javascript"></script>
<iframe src="https://donorbox.org/company_matching/let-s-encrypt/embed" style=" min-width:310px; min-height: 330px!important" width="100%" name="donorbox" frameborder="0" scrolling="no"></iframe>
<iframe src="https://donorbox.org/company_matching/let-s-encrypt/embed" style=" min-width:310px; min-height: 330px!important" width="100%" name="donorbox" frameborder="0" scrolling="no" title="Company donation matching lookup tool"></iframe>
</div>
</div>

Expand Down
8 changes: 8 additions & 0 deletions hugo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -45,3 +45,11 @@ languageName ="English"
weight = 1
[languages.en.params]
description = "ISRG's Prossimo is moving critical software to memory safe code."

[module]
[[module.mounts]]
source = "assets"
target = "assets"
[[module.mounts]]
source = "static/images"
target = "assets/images"
11 changes: 4 additions & 7 deletions layouts/blog/list.html
Original file line number Diff line number Diff line change
@@ -1,13 +1,10 @@
{{ define "main" }}
<div>
{{ $posts := where .Site.RegularPages "Type" "in" (slice "blog") }} {{ range $posts }}
<div class="initiative_list_item__blogLanding">
{{ .Date.Format $.Site.Params.time_format_default }}
<h2 class="no-autoanchor">{{ .Title }}</h2>
<p>{{ with .Params.excerpt }} {{ . | markdownify }} {{ else }} {{ .Summary }} {{ end }}</p>

<a href="{{ .Permalink }}">{{ i18n "read_more" }}</a><br />
<br />
<div class="blog-excerpt-item">
<time datetime="{{ .Date.Format `2006-01-02` }}">{{ .Date.Format $.Site.Params.time_format_default }}</time>
<h2 class="no-autoanchor"><a href="{{ .Permalink }}">{{ .Title }}</a></h2>
<div class="excerpt">{{ with .Params.excerpt }} {{ . | markdownify }} {{ else }} {{ .Summary }} {{ end }}</div>
</div>
{{ end }} {{ with .Site.Home.OutputFormats.Get "RSS" -}}
<p>{{ i18n "subscribe_rss" . | safeHTML }}</p>
Expand Down
62 changes: 22 additions & 40 deletions layouts/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
<h1 class="display-5 mb-0">
<span class="text-primary-knockout">Memory Safety</span>
</h1>
<h3>for the Internet's most critical infrastructure</h3>
<h2>for the Internet's most critical infrastructure</h2>
</div>
</div>
<div class="col-md-6 offset-md-1 align-self-center d-flex align-items-center justify-content-md-end justify-content-lg-end justify-content-center text-md-end text-center " >
Expand Down Expand Up @@ -63,45 +63,27 @@ <h2 class="home-eyebrow"><span>Initiatives</span></h2>
<div id="funders-home" class="mb-6">
<h2 class="home-eyebrow"><a href="/become-a-funder">Funders</a></h2>
<div class="funder-logos">
<div class="funder">
<img src="/images/sponsors/small/google-logo.png" alt="Google" />
</div>
<div class="funder">
<img src="/images/sponsors/small/aws-logo.png" alt="Amazon Web Services" />
</div>
<div class="funder">
<img src="/images/sponsors/small/flyio-logo.png" alt="Fly.io" />
</div>
<div class="funder">
<img src="/images/sponsors/small/futurewei-logo.png" alt="Futurewei" />
</div>
<div class="funder">
<img src="/images/sponsors/small/cisco-logo.png" alt="Cisco" />
</div>
<div class="funder">
<img src="/images/sponsors/small/acton-family-giving-logo.png" alt="Acton Family Giving" />
</div>
<div class="funder">
<img src="/images/sponsors/small/sovereign-tech-agency-logo.png" alt="Sovereign Tech Agency" />
</div>
<div class="funder">
<img src="/images/sponsors/small/alpha-omega-logo.png" alt="Alpha-Omega" />
</div>
<div class="funder">
<img src="/images/sponsors/small/CNP-Logo.svg" alt="Craig Newmark Philanthrophies" />
</div>
<div class="funder">
<img src="/images/sponsors/small/chainguard-logo.svg" alt="Chainguard" />
</div>
<div class="funder">
<img src="/images/sponsors/small/cloudflare-logo.png" alt="Cloudflare" />
</div>
<div class="funder">
<img src="/images/sponsors/small/shopify-logo.png" alt="Shopify" />
</div>
<div class="funder">
<img src="/images/sponsors/small/icann-logo.png" alt="ICANN" />
</div>
{{/* Build a repeatable list of funders */}}
{{ $funders := slice
(dict "src" "images/sponsors/small/google-logo.png" "alt" "Google")
(dict "src" "images/sponsors/small/aws-logo.png" "alt" "Amazon Web Services")
(dict "src" "images/sponsors/small/flyio-logo.png" "alt" "Fly.io")
(dict "src" "images/sponsors/small/futurewei-logo.png" "alt" "Futurewei")
(dict "src" "images/sponsors/small/cisco-logo.png" "alt" "Cisco")
(dict "src" "images/sponsors/small/acton-family-giving-logo.png" "alt" "Acton Family Giving")
(dict "src" "images/sponsors/small/sovereign-tech-agency-logo.png" "alt" "Sovereign Tech Agency")
(dict "src" "images/sponsors/small/alpha-omega-logo.png" "alt" "Alpha-Omega")
(dict "src" "images/sponsors/small/CNP-Logo.svg" "alt" "Craig Newmark Philanthrophies")
(dict "src" "images/sponsors/small/chainguard-logo.svg" "alt" "Chainguard")
(dict "src" "images/sponsors/small/cloudflare-logo.png" "alt" "Cloudflare")
(dict "src" "images/sponsors/small/shopify-logo.png" "alt" "Shopify")
(dict "src" "images/sponsors/small/icann-logo.png" "alt" "ICANN")
}}
{{ range $funders }}
<div class="funder">
{{ partial "optimized_image.html" (dict "src" .src "alt" .alt "maxHeight" 88) }}
</div>
{{ end }}
</div>
</div>
<div id="blog">
Expand Down
14 changes: 12 additions & 2 deletions layouts/initiative/baseof.html
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,12 @@
{{ if .Params.logo_link }}
<a href="{{.Params.logo_link}}" target="_blank">
{{end}}
<img src="{{ .Params.image }}" alt="{{ .Params.title }} logo" />
{{ $initiativeLogo := strings.TrimPrefix "/" .Params.image }}
{{ partial "optimized_image.html" (dict
"src" $initiativeLogo
"alt" (printf "%s logo" .Params.title)
"maxHeight" 400
) }}

{{ if .Params.logo_link }}
</a>
Expand Down Expand Up @@ -50,7 +55,12 @@ <h2>Funders</h2>
<div class="funder-logos">
{{ range .Params.funders }}
<div class="funder">
<img src="/images/sponsors/small/{{ lower . }}-logo.png" alt="{{ . }}" />
{{ $funderLogo := printf "images/sponsors/small/%s-logo.png" (lower .) }}
{{ partial "optimized_image.html" (dict
"src" $funderLogo
"alt" .
"maxHeight" 120
) }}
</div>
{{ end }}
</div>
Expand Down
12 changes: 0 additions & 12 deletions layouts/partials/double_your_donation.html

This file was deleted.

8 changes: 7 additions & 1 deletion layouts/partials/footer.html
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,13 @@
<div class="row">
<div class="col-lg-3 col-md-4 col-sm-6 order-lg-1 order-1 mb-lg-0 mb-4">
<a class="d-inline-block mb-4" href="https://abetterinternet.org" target="_blank">
<img src="/images/Prossimo Brand Assets/ISRG-Logo-White.png" id="footer-logo" alt="Prossimo logo">
{{ partial "optimized_image.html" (dict
"src" "images/Prossimo Brand Assets/ISRG-Logo-White.png"
"alt" "Prossimo logo"
"maxHeight" 110
"id" "footer-logo"
"class" "footer-logo-img"
) }}
</a>
<p class="mb-sm-4 mb-3 pb-lg-3 fs-xs text-light opacity-60">{{ .Site.Params.address_line_1}}<br />{{ .Site.Params.address_line_2}}</p>
<p class="mb-sm-4 mb-3 pb-lg-3 fs-xs text-light opacity-60">
Expand Down
12 changes: 7 additions & 5 deletions layouts/partials/header.html
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,12 @@
href="/"
class="navbar-brand order-lg-1 me-lg-5 me-0 pr-lg-2"
>
<img
src="/images/Prossimo Brand Assets/Prossimo Horizontal Full Color.svg"
alt="Prossimo Logo"
width="130"
/>
{{ partial "optimized_image.html" (dict
"src" "images/Prossimo Brand Assets/Prossimo Horizontal Full Color.svg"
"alt" "Prossimo Logo"
"maxWidth" 260
"class" "navbar-logo"
) }}
</a>
<div class="d-flex align-items-center order-lg-3">
<a
Expand All @@ -34,6 +35,7 @@
data-bs-toggle="collapse"
data-bs-target="#prossimoNavbar"
aria-expanded="false"
aria-label="Toggle navigation menu"
>
<span class="navbar-toggler-icon"></span>
</button>
Expand Down
2 changes: 1 addition & 1 deletion layouts/partials/hero.html
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
{{if ne .Params.hide_h1 true}}
<h1 class="display-4">{{ .Params.Title }}</h1>
{{ end }} {{ if .Params.subtitle }}
<h5 class="mb-4">{{ .Params.Subtitle }}</h5>
<h2 class="mb-4">{{ .Params.Subtitle }}</h2>
{{ end }}
</div>
</div>
Expand Down
8 changes: 7 additions & 1 deletion layouts/partials/home/initiative_list_item.html
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,13 @@ <h3 class="home-h3 mb-2"><a class="blog-title-link" href="{{.url}}" target="_bla
{{ if .logo_link }}
<a class="logo-link-anchor" href="{{.logo_link}}" target="_blank">
{{end}}
<img class="logo-image" src="{{.image}}" alt="Logo for {{.title}}" />
{{ $logoSrc := strings.TrimPrefix "/" .image }}
{{ partial "optimized_image.html" (dict
"src" $logoSrc
"alt" (printf "Logo for %s" .title)
"maxHeight" 240
"class" "logo-image"
) }}
{{ if .logo_link }}
</a>
{{end}}
Expand Down
5 changes: 0 additions & 5 deletions layouts/partials/initiative/initiative_hero.html
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,5 @@ <h1>{{ .Params.Title}}</h1>
{{ end }}
</div>
</div>
<!-- <div class="col-md-6 d-flex align-items-center justify-content-center">
<div class="logo-container">
<img src="{{ .Params.image }}" alt="{{ .Params.title }} logo" />
</div>
</div> -->
</div>
</div>
2 changes: 1 addition & 1 deletion layouts/partials/nav/newsletter.html
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<h3 class="h6 mb-2 pb-1 text-uppercase text-light">Subscribe for email updates about Prossimo and other ISRG projects</h3>

<iframe id="newsletter-iframe" src="https://outreach.abetterinternet.org/l/1011011/2025-01-14/31v6r" width="100%" type="text/html" frameborder="0" allowTransparency="true" style="border: 0; min-height: 375px;"></iframe>
<iframe id="newsletter-iframe" src="https://outreach.abetterinternet.org/l/1011011/2025-01-14/31v6r" width="100%" type="text/html" frameborder="0" allowTransparency="true" style="border: 0; min-height: 375px;" title="Subscribe to Prossimo email updates"></iframe>
<script src="/js/newsletter.js"></script>
41 changes: 41 additions & 0 deletions layouts/partials/optimized_image.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
{{/*
Usage:
{{ partial "optimized_image.html" (dict "src" "images/..." "alt" "..." "maxHeight" 88) }}
or
{{ partial "optimized_image.html" (dict "src" "images/..." "alt" "..." "maxWidth" 200) }}

Notes:
- Treats true SVGs as non-optimizable and marks as is-svg is-not-optimized
- For raster images, attempts Hugo Pipes; falls back to static path if unavailable
*/}}
{{ $src := .src }}
{{ $alt := .alt }}
{{ $maxHeight := .maxHeight }}
{{ $maxWidth := .maxWidth }}
{{ $extraClass := "" }}
{{ with .class }}{{ $extraClass = printf " %s" . }}{{ end }}
{{ $idAttr := "" }}
{{ with .id }}{{ $idAttr = printf ` id="%s"` . }}{{ end }}

{{ $ext := lower (path.Ext $src) }}
{{ $isSVG := eq $ext ".svg" }}

{{ if $isSVG }}
<img class="is-svg is-not-optimized{{ $extraClass }}"{{ $idAttr }} src="/{{ $src }}" alt="{{ $alt }}" loading="lazy" decoding="async" />
{{ else }}
{{ $res := resources.Get $src }}
{{ if $res }}
{{ $spec := "" }}
{{ if $maxHeight }}
{{ $spec = printf "x%d" $maxHeight }}
{{ else if $maxWidth }}
{{ $spec = printf "%dx" $maxWidth }}
{{ else }}
{{ $spec = printf "%dx%d" $res.Width $res.Height }}
{{ end }}
{{ $img := $res.Resize (printf "%s webp" $spec) }}
<img class="is-not-svg is-optimized{{ $extraClass }}"{{ $idAttr }} src="{{ $img.RelPermalink }}" alt="{{ $alt }}" loading="lazy" decoding="async" />
{{ else }}
<img class="is-not-svg is-not-optimized{{ $extraClass }}"{{ $idAttr }} src="/{{ $src }}" alt="{{ $alt }}" loading="lazy" decoding="async" />
{{ end }}
{{ end }}
Loading