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 public/llms.txt
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ The organization welcomes students at all experience levels. Event details, offi

- [Email](mailto:compbioatberkeley@gmail.com): General questions and collaboration inquiries; do not send sensitive information.
- [LinkedIn](https://www.linkedin.com/company/computational-biology-at-berkeley/): Organization updates and professional contact.
- [Linktree](https://linktr.ee/compbioatberkeley): Current collection of public links and contact destinations.
- [Linktree](https://linktr.ee/UCB_CompBio): Current collection of public links and contact destinations.
- [GitHub](https://github.com/CompbioAtBerkeley): Public organization repositories.

## Machine-readable resources
Expand Down
2 changes: 1 addition & 1 deletion scripts/lib/site-seo.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -151,7 +151,7 @@ test("publishes exact brand metadata and developer discovery links in the HTML s
"CompBio at Berkeley",
"compbioatberkeley.github.io",
]);
assert.ok(identity.sameAs.includes("https://linktr.ee/compbioatberkeley"));
assert.ok(identity.sameAs.includes("https://linktr.ee/UCB_CompBio"));
assert.match(
entry,
/<meta name="application-name" content="Computational Biology at Berkeley" \/>/,
Expand Down
19 changes: 19 additions & 0 deletions scripts/validate-seo-build.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -134,6 +134,9 @@ for (const page of pages) {
}

const mainTextLength = visibleText(mainHtml).length;
assert.doesNotMatch(html, /https:\/\/forms\.gle\/EQmWP1JWzDzrFji79/);
assert.doesNotMatch(html, /https:\/\/linktr\.ee\/compbioatberkeley/);
assert.ok(html.includes('href="https://linktr.ee/UCB_CompBio"'));
if (page.path === "/") {
assert.ok(mainTextLength >= 2000, `home SSR text must be substantial; received ${mainTextLength}`);
const contentEfficiency = visibleText(html).length / html.length;
Expand All @@ -156,12 +159,28 @@ for (const page of pages) {
}
if (page.path === "/signup/") {
assert.match(mainHtml, /Updated Fall 2026 recruitment timeline/);
assert.ok(mainHtml.includes('href="https://forms.gle/4cR1nfRoLb2LGNbi7"'));
assert.ok(
mainHtml.includes(
'href="https://docs.google.com/document/d/1ZGq3KV4MprEdPDUu8v7QO9AuGSpB2eEmsyVCCK9nLDU/edit?usp=sharing"',
),
);
assert.ok(mainHtml.includes('href="https://linktr.ee/UCB_CompBio"'));
assert.match(mainHtml, /September 9/);
assert.match(mainHtml, /VLSB 2030/);
assert.doesNotMatch(mainHtml, /September 7/);
}
if (page.path === "/") {
assert.ok(mainHtml.includes('href="https://forms.gle/4cR1nfRoLb2LGNbi7"'));
}
if (["/contact/", "/collaborations/"].includes(page.path)) {
assert.ok(mainHtml.includes('href="https://linktr.ee/UCB_CompBio"'));
}
}

assert.doesNotMatch(llmsText, /https:\/\/linktr\.ee\/compbioatberkeley/);
assert.match(llmsText, /https:\/\/linktr\.ee\/UCB_CompBio/);

const robots = await fs.readFile(path.join(distDirectory, "robots.txt"), "utf8");
const notFound = await fs.readFile(path.join(distDirectory, "404.html"), "utf8");
assert.match(notFound, /name="robots" content="noindex, nofollow"/);
Expand Down
2 changes: 1 addition & 1 deletion src/components/Footer.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ const socialLinks = [
{ name: "linkedin", url: "https://www.linkedin.com/company/computational-biology-at-berkeley/" },
{ name: "github", url: "https://github.com/CompbioAtBerkeley" },
{ name: "projects", url: "https://github.com/Compbio-at-berkeley-projects" },
{ name: "linktree", url: "https://linktr.ee/compbioatberkeley" },
{ name: "linktree", url: "https://linktr.ee/UCB_CompBio" },
];

const Footer = () => (
Expand Down
2 changes: 1 addition & 1 deletion src/data/siteIdentity.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
"https://github.com/CompbioAtBerkeley",
"https://www.instagram.com/ucb_compbio/",
"https://www.linkedin.com/company/computational-biology-at-berkeley/",
"https://linktr.ee/compbioatberkeley"
"https://linktr.ee/UCB_CompBio"
],
"address": {
"addressLocality": "Berkeley",
Expand Down
2 changes: 1 addition & 1 deletion src/pages/Collaborations.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import { PageHeader, SectionHeading } from "@/components/PageHeader";

const LINKEDIN =
"https://www.linkedin.com/company/computational-biology-at-berkeley/";
const LINKTREE = "https://linktr.ee/compbioatberkeley";
const LINKTREE = "https://linktr.ee/UCB_CompBio";

const Collaborations = () => (
<div>
Expand Down
2 changes: 1 addition & 1 deletion src/pages/Contact.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ const contactChannels = [
detail:
"Use Linktree when you need the latest public signup, application, or community link. Forms are hosted by their respective providers, and their availability may follow a recruitment or project cycle.",
action: "open our Linktree",
href: "https://linktr.ee/compbioatberkeley",
href: "https://linktr.ee/UCB_CompBio",
},
];

Expand Down
5 changes: 3 additions & 2 deletions src/pages/Home.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -46,12 +46,13 @@ const Home = () => (
<div className="mt-8 flex flex-wrap gap-3">
<EnhancedButton asChild variant="primary" size="lg">
<a
href="https://forms.gle/EQmWP1JWzDzrFji79"
href="https://forms.gle/4cR1nfRoLb2LGNbi7"
target="_blank"
rel="noopener noreferrer"
>
sign up for updates
apply for Fall 2026
<ExternalLink />
<span className="sr-only"> (opens in a new tab)</span>
</a>
</EnhancedButton>
<EnhancedButton asChild variant="outline" size="lg">
Expand Down
26 changes: 17 additions & 9 deletions src/pages/SignUp.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,19 +5,20 @@ import { EnhancedButton } from "@/components/ui/enhanced-button";
import { PageHeader } from "@/components/PageHeader";
import { publicAssetPath } from "@/lib/publicAsset";

const INTEREST_FORM = "https://forms.gle/EQmWP1JWzDzrFji79";
const APPLICATION_FORM = "https://forms.gle/4cR1nfRoLb2LGNbi7";
const NEWSLETTER_FORM = "https://forms.gle/qCxn93mfunF3Dtep7";
const INSTAGRAM_PROFILE = "https://www.instagram.com/ucb_compbio/";
const LINKTREE = "https://linktr.ee/UCB_CompBio";
const COFFEE_CHAT_LINK =
"https://docs.google.com/document/d/1ZGq3KV4MprEdPDUu8v7QO9AuGSpB2eEmsyVCCK9nLDU/edit?usp=sharing";

const forms = [
{
eyebrow: "Fall 2026 interest form",
title: "Express interest",
body: "Tell us you are interested and receive application updates, event announcements, and opportunities.",
src: INTEREST_FORM,
cta: "Fill out the interest form",
eyebrow: "Fall 2026 application",
title: "Apply to CompBio at Berkeley",
body: "Submit your application by September 11 at 5 PM to join us for Fall 2026.",
src: APPLICATION_FORM,
cta: "Open the application",
preview: "/forms/interest-form-preview.webp",
featured: true,
},
Expand Down Expand Up @@ -59,7 +60,7 @@ const socials = [
{
name: "Linktree",
detail: "All club links",
url: "https://linktr.ee/compbioatberkeley",
url: LINKTREE,
icon: SiLinktree,
},
];
Expand Down Expand Up @@ -124,8 +125,8 @@ const SignUp = () => (

<div className="mt-7 flex flex-wrap gap-3">
<EnhancedButton asChild variant="gold" size="lg">
<a href={INTEREST_FORM} target="_blank" rel="noopener noreferrer">
Express interest
<a href={APPLICATION_FORM} target="_blank" rel="noopener noreferrer">
Apply now
<ExternalLink />
<span className="sr-only"> (opens in a new tab)</span>
</a>
Expand All @@ -144,6 +145,13 @@ const SignUp = () => (
<span className="sr-only"> (opens in a new tab)</span>
</a>
</EnhancedButton>
<EnhancedButton asChild variant="outline" size="lg">
<a href={LINKTREE} target="_blank" rel="noopener noreferrer">
View all links
<ExternalLink />
<span className="sr-only"> (opens in a new tab)</span>
</a>
</EnhancedButton>
</div>
</div>
</div>
Expand Down