This is an automated email from the ASF dual-hosted git repository.
kparisa pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/iggy-website.git
The following commit(s) were added to refs/heads/main by this push:
new acec443e Add a mailing lists page to the community section (#89)
acec443e is described below
commit acec443eed78e285949166671ac19d6d8f9e5b2f
Author: Justin Mclean <[email protected]>
AuthorDate: Wed Sep 9 21:10:57 2026 +1000
Add a mailing lists page to the community section (#89)
The community page and site footer link to Discord, LinkedIn, and
GitHub, but nothing on the site tells readers that dev@ and commits@
exist or how to subscribe.
This adds a Mailing Lists page under /community with the subscribe,
unsubscribe, and archive addresses for dev@ and commits@, a short
section on when to use the lists rather than GitHub issues or Discord,
and a note on private@. It also adds the matching card to the community
grid and a footer link.
Co-authored-by: Justin Mclean <[email protected]>
Co-authored-by: Kranti Parisa <[email protected]>
---
.../community/_components/community-layout.tsx | 5 +
src/app/(site)/community/mailing-lists/page.tsx | 123 +++++++++++++++++++++
src/components/site-footer.tsx | 1 +
3 files changed, 129 insertions(+)
diff --git a/src/app/(site)/community/_components/community-layout.tsx
b/src/app/(site)/community/_components/community-layout.tsx
index c5da76d9..9b60a484 100644
--- a/src/app/(site)/community/_components/community-layout.tsx
+++ b/src/app/(site)/community/_components/community-layout.tsx
@@ -50,6 +50,11 @@ export const communityPages = [
href: "/community/brand-kit",
description: "Use Apache Iggy names and marks correctly.",
},
+ {
+ title: "Mailing Lists",
+ href: "/community/mailing-lists",
+ description: "Subscribe to dev@ and read the public archives.",
+ },
];
export function CommunityLayout({
diff --git a/src/app/(site)/community/mailing-lists/page.tsx
b/src/app/(site)/community/mailing-lists/page.tsx
new file mode 100644
index 00000000..04b05baa
--- /dev/null
+++ b/src/app/(site)/community/mailing-lists/page.tsx
@@ -0,0 +1,123 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import type { Metadata } from "next";
+import {
+ CommunityHeader,
+ CommunityLayout,
+ ExternalLink,
+} from "../_components/community-layout";
+
+export const metadata: Metadata = {
+ title: "Mailing Lists",
+ description: "Subscribe to the Apache Iggy mailing lists.",
+};
+
+const lists = [
+ {
+ name: "[email protected]",
+ purpose:
+ "Development discussion, release votes and project decisions. If you
only join one list, join this one.",
+ subscribe: "[email protected]",
+ unsubscribe: "[email protected]",
+ archive: "https://lists.apache.org/[email protected]",
+ },
+ {
+ name: "[email protected]",
+ purpose:
+ "Commit and build notifications. It's automated and there's a lot of
it.",
+ subscribe: "[email protected]",
+ unsubscribe: "[email protected]",
+ archive: "https://lists.apache.org/[email protected]",
+ },
+];
+
+export default function MailingListsPage() {
+ return (
+ <CommunityLayout>
+ <CommunityHeader
+ title="Mailing Lists"
+ description="Apache Iggy has two public mailing lists and anyone can
join either one. dev@ is where development gets discussed and where releases
are announced, and it's the best place to ask a question you want a considered
answer to."
+ />
+
+ <div className="space-y-6">
+ {lists.map((list) => (
+ <div
+ key={list.name}
+ className="rounded-xl border border-fd-border bg-fd-card p-6"
+ >
+ <h2 className="mb-2 text-base font-bold text-fd-foreground">
+ {list.name}
+ </h2>
+ <p className="mb-4 max-w-3xl text-base leading-relaxed
text-fd-muted-foreground">
+ {list.purpose}
+ </p>
+ <ul className="space-y-2 text-sm text-fd-muted-foreground">
+ <li>
+ Subscribe: send an empty email to{" "}
+ <ExternalLink href={`mailto:${list.subscribe}`}>
+ {list.subscribe}
+ </ExternalLink>
+ </li>
+ <li>
+ Unsubscribe: send an empty email to{" "}
+ <ExternalLink href={`mailto:${list.unsubscribe}`}>
+ {list.unsubscribe}
+ </ExternalLink>
+ </li>
+ <li>
+ Archive:{" "}
+ <ExternalLink href={list.archive}>{list.archive}</ExternalLink>
+ </li>
+ </ul>
+ </div>
+ ))}
+ </div>
+
+ <h2 className="mb-4 mt-12 text-2xl font-bold text-fd-foreground">
+ Where to ask
+ </h2>
+ <p className="max-w-3xl text-base leading-relaxed
text-fd-muted-foreground">
+ Use dev@ if you want a decision made, or a record of one. Use{" "}
+ <ExternalLink href="https://github.com/apache/iggy/issues">
+ GitHub issues
+ </ExternalLink>{" "}
+ for bugs and feature requests, and{" "}
+ <ExternalLink href="https://discord.gg/apache-iggy">
+ Discord
+ </ExternalLink>{" "}
+ for chat and quick questions. Discord isn't archived, so if something
+ gets settled there, put it on dev@ or in an issue as well.
+ </p>
+
+ <h2 className="mb-4 mt-12 text-2xl font-bold text-fd-foreground">
+ Private list
+ </h2>
+ <p className="max-w-3xl text-base leading-relaxed
text-fd-muted-foreground">
+ [email protected] is a closed list for the small amount of
+ project business that can't be discussed in public. For security
+ reports, follow the{" "}
+ <ExternalLink href="https://www.apache.org/security/">
+ ASF security process
+ </ExternalLink>
+ .
+ </p>
+ </CommunityLayout>
+ );
+}
diff --git a/src/components/site-footer.tsx b/src/components/site-footer.tsx
index 508de5f3..322d0497 100644
--- a/src/components/site-footer.tsx
+++ b/src/components/site-footer.tsx
@@ -29,6 +29,7 @@ const footerSections = [
links: [
{ text: "Team", url: "/community/team" },
{ text: "Contribute", url: "/community/how-to-contribute" },
+ { text: "Mailing Lists", url: "/community/mailing-lists" },
{ text: "Discord", url: "https://discord.gg/apache-iggy" },
{ text: "LinkedIn", url: "https://www.linkedin.com/company/apache-iggy/"
},
],