Skip to content
Merged
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
2 changes: 1 addition & 1 deletion app/llms-full.txt/route.ts
Original file line number Diff line number Diff line change
Expand Up @@ -230,7 +230,7 @@ ${CONTACT_HEADLINE.join(" ")}

${CONTACT_LEAD}

Email ${EMAIL} · GitHub ${links.github} · X ${links.x} · LinkedIn ${links.linkedin}
Email ${EMAIL} · GitHub ${links.github} · X ${links.x} · LinkedIn ${links.linkedin} · Discord ${links.discord}

## Field notes

Expand Down
29 changes: 27 additions & 2 deletions components/site/Contact.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@ import { FleetStatus } from "@/components/site/FleetStatus";
// shrink-0 keeps the box from compressing in the inline-flex link. The
// envelope is an original geometric glyph; the X and LinkedIn glyphs are from
// Simple Icons (CC0 / public domain) — the marks are trademarks of their
// owners, shown nominatively as links to our own profiles. The GitHub glyph is
// likewise from Simple Icons (CC0 / public domain).
// owners, shown nominatively as links to our own profiles. The GitHub and
// Discord glyphs are likewise from Simple Icons (CC0 / public domain).
const iconClass = "size-[1.05em] shrink-0";

function MailIcon() {
Expand Down Expand Up @@ -57,6 +57,19 @@ function GitHubIcon() {
);
}

function DiscordIcon() {
return (
<svg
viewBox="0 0 24 24"
fill="currentColor"
aria-hidden
className={iconClass}
>
<path d="M20.317 4.3698a19.7913 19.7913 0 00-4.8851-1.5152.0741.0741 0 00-.0785.0371c-.211.3753-.4447.8648-.6083 1.2495-1.8447-.2762-3.68-.2762-5.4868 0-.1636-.3933-.4058-.8742-.6177-1.2495a.077.077 0 00-.0785-.037 19.7363 19.7363 0 00-4.8852 1.515.0699.0699 0 00-.0321.0277C.5334 9.0458-.319 13.5799.0992 18.0578a.0824.0824 0 00.0312.0561c2.0528 1.5076 4.0413 2.4228 5.9929 3.0294a.0777.0777 0 00.0842-.0276c.4616-.6304.8731-1.2952 1.226-1.9942a.076.076 0 00-.0416-.1057c-.6528-.2476-1.2743-.5495-1.8722-.8923a.077.077 0 01-.0076-.1277c.1258-.0943.2517-.1923.3718-.2914a.0743.0743 0 01.0776-.0105c3.9278 1.7933 8.18 1.7933 12.0614 0a.0739.0739 0 01.0785.0095c.1202.099.246.1981.3728.2924a.077.077 0 01-.0066.1276 12.2986 12.2986 0 01-1.873.8914.0766.0766 0 00-.0407.1067c.3604.698.7719 1.3628 1.225 1.9932a.076.076 0 00.0842.0286c1.961-.6067 3.9495-1.5219 6.0023-3.0294a.077.077 0 00.0313-.0552c.5004-5.177-.8382-9.6739-3.5485-13.6604a.061.061 0 00-.0312-.0286zM8.02 15.3312c-1.1825 0-2.1569-1.0857-2.1569-2.419 0-1.3332.9555-2.4189 2.157-2.4189 1.2108 0 2.1757 1.0952 2.1568 2.419 0 1.3332-.9555 2.4189-2.1569 2.4189zm7.9748 0c-1.1825 0-2.1569-1.0857-2.1569-2.419 0-1.3332.9554-2.4189 2.1569-2.4189 1.2108 0 2.1757 1.0952 2.1568 2.419 0 1.3332-.946 2.4189-2.1568 2.4189Z" />
</svg>
);
}

function XIcon() {
return (
<svg
Expand Down Expand Up @@ -158,6 +171,18 @@ export function Contact() {
→
</span>
</a>
<a
className="underline-brutal text-lead font-semibold tracking-[0.02em]"
href={links.discord}
target="_blank"
rel="noopener noreferrer"
>
<DiscordIcon />
discord
<span className="arrow" aria-hidden>
→
</span>
</a>
</div>
</div>
</div>
Expand Down
6 changes: 4 additions & 2 deletions docs/docs.json
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,8 @@
"sameAs": [
"https://github.com/decdn",
"https://x.com/decdn_",
"https://www.linkedin.com/company/decdn"
"https://www.linkedin.com/company/decdn",
"https://discord.gg/vVbNswKVGX"
]
}
},
Expand Down Expand Up @@ -96,7 +97,8 @@
"website": "https://decdn.org",
"github": "https://github.com/decdn",
"x": "https://x.com/decdn_",
"linkedin": "https://www.linkedin.com/company/decdn"
"linkedin": "https://www.linkedin.com/company/decdn",
"discord": "https://discord.gg/vVbNswKVGX"
},
"links": [
{
Expand Down
1 change: 1 addition & 0 deletions lib/links.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ export const links = {
github: "https://github.com/decdn",
x: "https://x.com/decdn_",
linkedin: "https://www.linkedin.com/company/decdn",
discord: "https://discord.gg/vVbNswKVGX",
litepaper: "/decdn_litepaper.pdf",
presskit: "/presskit/decdn-presskit.zip",
docs: "https://docs.decdn.org/overview/introduction",
Expand Down
11 changes: 10 additions & 1 deletion lib/schema.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { describe, expect, it } from "vitest";
import { blogPostingNode, listPosts, postImageUrl } from "./blog";
import { FAQ_ITEMS } from "./faq";
import { getLegalDoc, LEGAL_SLUGS } from "./legal";
import { EMAIL, ORG_ID, SERVICE_ID, SITE_ID } from "./links";
import { EMAIL, links, ORG_ID, SERVICE_ID, SITE_ID } from "./links";
import {
blogNode,
breadcrumbNode,
Expand All @@ -25,6 +25,15 @@ describe("site-level @ids", () => {
expect(faqPageNode["@id"]).toBe("https://decdn.org/#faq");
});

it("lists every social profile as sameAs", () => {
expect(organizationNode.sameAs).toEqual([
links.github,
links.x,
links.linkedin,
links.discord,
]);
});

it("builds each node from the shared constant", () => {
expect(organizationNode["@id"]).toBe(ORG_ID);
expect(websiteNode["@id"]).toBe(SITE_ID);
Expand Down
2 changes: 1 addition & 1 deletion lib/schema.ts
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ export const organizationNode: Schema<"Organization"> = {
description:
"Organization developing deCDN, a decentralized content delivery network with per-megabyte settlement in USDC.",
email: EMAIL,
sameAs: [links.github, links.x, links.linkedin],
sameAs: [links.github, links.x, links.linkedin, links.discord],
};

export const websiteNode: Schema<"WebSite"> = {
Expand Down
Loading