Skip to content
Merged
Show file tree
Hide file tree
Changes from 47 commits
Commits
Show all changes
61 commits
Select commit Hold shift + click to select a range
79b5a5a
Rename learn/index to learn/introduction
hasparus Nov 25, 2025
f0ce47a
Switch the /docs redirect to go to /introduction
hasparus Nov 25, 2025
71a276a
Add new (now empty) Learn index page
hasparus Nov 25, 2025
fc769de
Add TocHero and TocHeroContents
hasparus Nov 25, 2025
572834c
Add Eyebrow component
hasparus Nov 26, 2025
5a79d05
Use proper icon
hasparus Nov 26, 2025
7786c8d
Extract NavbarFixed
hasparus Nov 26, 2025
bb51099
Grab blur beans from Figma
hasparus Nov 26, 2025
7144dc5
Perfect TOC Hero Contents
hasparus Nov 26, 2025
24d4f66
Finalize TocHero styles
hasparus Nov 26, 2025
79b43a3
Add LearnHeroStripes component
hasparus Nov 26, 2025
ec2dd45
Commit Learn Hero
hasparus Nov 26, 2025
1fdd5fa
Tweak styles, add ids
hasparus Nov 26, 2025
3b99e16
Add TeaserSection
hasparus Nov 26, 2025
827bb14
wip
hasparus Nov 26, 2025
456a68a
wip
hasparus Nov 26, 2025
9253413
wip
hasparus Nov 26, 2025
365270e
Lazy load icons
hasparus Nov 26, 2025
4a1a7da
Add firstIconsEager=true to first section
hasparus Nov 26, 2025
02481d4
wip
hasparus Nov 26, 2025
18650f2
wip
hasparus Nov 26, 2025
c710ef2
wip
hasparus Nov 26, 2025
77febbb
wip
hasparus Nov 26, 2025
751f363
Use correct descriptions
hasparus Nov 26, 2025
e440aca
Add icon backgrounds
hasparus Nov 26, 2025
4390e40
Card layout
hasparus Nov 26, 2025
dfe67af
Partition by section
hasparus Nov 26, 2025
4b9fea0
Improve styles
hasparus Nov 27, 2025
794ead4
wip
hasparus Nov 27, 2025
943f620
Rename the icons directory to fix icons
hasparus Nov 27, 2025
4b9bcb0
Match icons, improve styles
hasparus Nov 27, 2025
d71173c
Remove the redundant CTA from Events page
hasparus Nov 27, 2025
806b258
Add a TODO
hasparus Nov 27, 2025
4eb7646
Tweak color in dark mode
hasparus Nov 27, 2025
0973728
Hide items in CSS
hasparus Nov 27, 2025
da29047
Do not display Show less
hasparus Nov 27, 2025
44deb18
wip
hasparus Nov 28, 2025
4ac0304
wip
hasparus Nov 28, 2025
9197db4
wip
hasparus Nov 28, 2025
aba5142
wip
hasparus Nov 28, 2025
1d4e140
Add Common Questions
hasparus Nov 28, 2025
6f8d177
Add LookingForMore
hasparus Nov 28, 2025
7c6d103
Move the export down to work around the hMR hydration bug
hasparus Nov 28, 2025
b588316
Rebuild
hasparus Nov 29, 2025
3f1be05
Add backgrounds to TOC footer
hasparus Nov 29, 2025
19428aa
wip
hasparus Nov 29, 2025
2d35b03
Aggregate all FAQ pages on one page as per design
hasparus Nov 29, 2025
31945af
Format icons
hasparus Nov 29, 2025
4f9d0ca
Show a shorter TOC
hasparus Nov 29, 2025
9a30e04
Always white text on primary background
hasparus Nov 29, 2025
240c6e6
Remove redundant margin
hasparus Nov 29, 2025
6269378
Highlight current heading
hasparus Nov 29, 2025
e937a8c
Style questions
hasparus Nov 29, 2025
34a97fa
Add icons
hasparus Nov 29, 2025
4086a9d
Remove console.log
hasparus Nov 29, 2025
f3b2cad
Mirror .reverse() call from `source`
hasparus Nov 29, 2025
f19a34b
Merge branch 'source' into learn-aggregator
hasparus Nov 29, 2025
7b45ba1
Merge branch 'learn-aggregator' into learn-faq
hasparus Nov 29, 2025
1a80a97
Merge pull request #61 from hasparus/learn-faq
hasparus Nov 30, 2025
26239de
Fix a path in test
hasparus Nov 30, 2025
7938c56
Rename Events & Meetups page to Events (as discussed on Slack)
hasparus Nov 30, 2025
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
706 changes: 353 additions & 353 deletions scripts/get-github-info/github-stats.json

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion scripts/get-github-info/last-success.isodate
Original file line number Diff line number Diff line change
@@ -1 +1 @@
2025-11-18T21:48:50.765Z
2025-11-29T12:04:08.519Z
4 changes: 4 additions & 0 deletions scripts/sync-working-groups/working-group-events.ndjson
Original file line number Diff line number Diff line change
Expand Up @@ -31,3 +31,7 @@
{"kind":"calendar#event","etag":"\"3516415120288286\"","id":"h9erafl4rc1jjor9i6akokm5ec_20251218T160000Z","status":"confirmed","htmlLink":"https://www.google.com/calendar/event?eid=aDllcmFmbDRyYzFqam9yOWk2YWtva201ZWNfMjAyNTEyMThUMTYwMDAwWiBsaW51eGZvdW5kYXRpb24ub3JnX2lrNzl0OXV1ajJwMzJpM3IyMDNkZ3Y1bW84QGc","created":"2023-12-08T21:32:03.000Z","updated":"2025-09-18T14:59:20.144Z","summary":"GraphQL Governing Board Meeting","creator":{"email":"jburson@linuxfoundation.org"},"organizer":{"email":"linuxfoundation.org_ik79t9uuj2p32i3r203dgv5mo8@group.calendar.google.com","displayName":"GraphQL Foundation - Public","self":true},"start":"2025-12-18T11:00:00-05:00","end":"2025-12-18T12:00:00-05:00","recurringEventId":"h9erafl4rc1jjor9i6akokm5ec","originalStartTime":{"dateTime":"2025-12-18T11:00:00-05:00","timeZone":"America/New_York"},"iCalUID":"h9erafl4rc1jjor9i6akokm5ec@google.com","sequence":3,"eventType":"default"}
{"kind":"calendar#event","etag":"\"3462003372886000\"","id":"kkc5tt01ovrjv8fki1lo31g5hj_20251218T170000Z","status":"confirmed","htmlLink":"https://www.google.com/calendar/event?eid=a2tjNXR0MDFvdnJqdjhma2kxbG8zMWc1aGpfMjAyNTEyMThUMTcwMDAwWiBsaW51eGZvdW5kYXRpb24ub3JnX2lrNzl0OXV1ajJwMzJpM3IyMDNkZ3Y1bW84QGc","created":"2024-01-12T09:55:37.000Z","updated":"2024-11-07T17:48:06.443Z","summary":"Composite schemas WG - Weekly 3","description":"The weekly \"secondary\" meeting of the composite schemas WG: <a href=\"https://github.com/graphql/composite-schemas-wg\"><u>https://github.com/graphql/composite-schemas-wg</u></a><br><br>Meeting password is \"composite\"<br><br>Live notes are at <a href=\"https://docs.google.com/document/d/1hJO6U7daYvcNcQ3FBKnh3v4R256ers6M8IGyqRpY_kE/edit?usp=sharing\" class=\"pastedDriveLink-0\"><u>https://docs.google.com/document/d/1hJO6U7daYvcNcQ3FBKnh3v4R256ers6M8IGyqRpY_kE/edit?usp=sharing</u></a>","location":"https://zoom.us/j/91078840351","creator":{"email":"benjie@graphile.com"},"organizer":{"email":"linuxfoundation.org_ik79t9uuj2p32i3r203dgv5mo8@group.calendar.google.com","displayName":"GraphQL Foundation - Public","self":true},"start":"2025-12-18T12:00:00-05:00","end":"2025-12-18T13:00:00-05:00","recurringEventId":"kkc5tt01ovrjv8fki1lo31g5hj","originalStartTime":{"dateTime":"2025-12-18T12:00:00-05:00","timeZone":"Europe/Berlin"},"iCalUID":"kkc5tt01ovrjv8fki1lo31g5hj@google.com","sequence":1,"eventType":"default"}
{"kind":"calendar#event","etag":"\"3500694996844990\"","id":"2ffd8o32sh77kd3mtccrtg887n_20251218T183000Z","status":"confirmed","htmlLink":"https://www.google.com/calendar/event?eid=MmZmZDhvMzJzaDc3a2QzbXRjY3J0Zzg4N25fMjAyNTEyMThUMTgzMDAwWiBsaW51eGZvdW5kYXRpb24ub3JnX2lrNzl0OXV1ajJwMzJpM3IyMDNkZ3Y1bW84QGc","created":"2025-05-01T19:23:48.000Z","updated":"2025-06-19T15:38:18.422Z","summary":"GraphQL WG - Secondary (EU)","description":"Zoom password: graphqlwg","location":"https://zoom.us/j/593263740","creator":{"email":"benjie@graphile.com"},"organizer":{"email":"linuxfoundation.org_ik79t9uuj2p32i3r203dgv5mo8@group.calendar.google.com","displayName":"GraphQL Foundation - Public","self":true},"start":"2025-12-18T13:30:00-05:00","end":"2025-12-18T15:00:00-05:00","recurringEventId":"2ffd8o32sh77kd3mtccrtg887n","originalStartTime":{"dateTime":"2025-12-18T13:30:00-05:00","timeZone":"America/Los_Angeles"},"iCalUID":"2ffd8o32sh77kd3mtccrtg887n@google.com","sequence":0,"eventType":"default"}
{"kind":"calendar#event","etag":"\"3517067971709790\"","id":"f7cvs5ala9jtt147l3mik2mlvl_20251222T160000Z","status":"confirmed","htmlLink":"https://www.google.com/calendar/event?eid=ZjdjdnM1YWxhOWp0dDE0N2wzbWlrMm1sdmxfMjAyNTEyMjJUMTYwMDAwWiBsaW51eGZvdW5kYXRpb24ub3JnX2lrNzl0OXV1ajJwMzJpM3IyMDNkZ3Y1bW84QGc","created":"2024-01-29T15:14:17.000Z","updated":"2025-09-22T09:39:45.854Z","summary":"Conference & Community Committee Meeting - Fortnightly Recurring","description":"\nYou have been invited to a recurring meeting for GraphQL Foundation\n\nWeekly Sync and Coordination Meeting for Conference Committee participants. Notes Document: <a href=\"https://www.google.com/url?q=https://docs.google.com/document/d/19-alP5jywnXzgN_1zYLBTRWh-4CaXzGakEZdTBFwNAc/edit&amp;sa=D&amp;source=calendar&amp;ust=1706973237164827&amp;usg=AOvVaw2Hq8yvcxUs6YD6mxyQICnT\" target=\"_blank\">https://docs.google.com/document/d/19-alP5jywnXzgN_1zYLBTRWh-4CaXzGakEZdTBFwNAc/edit</a>\n\nWays to join meeting:\n\n1. Join from PC, Mac, iPad, or Android\n\n<a href=\"https://www.google.com/url?q=https://zoom-lfx.platform.linuxfoundation.org/meeting/96286151238?password%3Dff267735-efbd-4be4-a89c-b927b596190a&amp;sa=D&amp;source=calendar&amp;ust=1706973237164827&amp;usg=AOvVaw2VtVqMUwPw-xmLNLTW-aGx\" target=\"_blank\">https://zoom-lfx.platform.linuxfoundation.org/meeting/96286151238?password=ff267735-efbd-4be4-a89c-b927b596190a</a>\n\n2. Join via audio\n\nOne tap mobile:\nUS: +12532158782,,96286151238# or +13462487799,,96286151238\n\nOr dial:\nUS: +1 253 215 8782 or +1 346 248 7799 or +1 669 900 6833 or +1 301 715 8592 or +1 312 626 6799 or +1 646 374 8656 or 877 369 0926 (Toll Free) or 855 880 1246 (Toll Free)\nCanada: +1 647 374 4685 or +1 647 558 0588 or +1 778 907 2071 or +1 204 272 7920 or +1 438 809 7799 or +1 587 328 1099 or 855 703 8985 (Toll Free)\n\nMeeting ID: 96286151238\n\nMeeting Passcode: 986182\n\n\nInternational numbers: <a href=\"https://www.google.com/url?q=https://zoom.us/u/alwnPIaVT&amp;sa=D&amp;source=calendar&amp;ust=1706973237164827&amp;usg=AOvVaw3tJlonweprMYLFyfuKasR0\" target=\"_blank\">https://zoom.us/u/alwnPIaVT</a>\n","location":"https://zoom-lfx.platform.linuxfoundation.org/meeting/96286151238?password=ff267735-efbd-4be4-a89c-b927b596190a","creator":{"email":"benjie@graphile.com"},"organizer":{"email":"linuxfoundation.org_ik79t9uuj2p32i3r203dgv5mo8@group.calendar.google.com","displayName":"GraphQL Foundation - Public","self":true},"start":"2025-12-22T11:00:00-05:00","end":"2025-12-22T12:00:00-05:00","recurringEventId":"f7cvs5ala9jtt147l3mik2mlvl","originalStartTime":{"dateTime":"2025-12-22T11:00:00-05:00","timeZone":"America/New_York"},"iCalUID":"f7cvs5ala9jtt147l3mik2mlvl@google.com","sequence":2,"guestsCanInviteOthers":false,"eventType":"default"}
{"kind":"calendar#event","etag":"\"3524923598591262\"","id":"s9agipg1r702pfngano7pol2h5_20251225T170000Z","status":"confirmed","htmlLink":"https://www.google.com/calendar/event?eid=czlhZ2lwZzFyNzAycGZuZ2Fubzdwb2wyaDVfMjAyNTEyMjVUMTcwMDAwWiBsaW51eGZvdW5kYXRpb24ub3JnX2lrNzl0OXV1ajJwMzJpM3IyMDNkZ3Y1bW84QGc","created":"2024-01-12T09:56:07.000Z","updated":"2025-11-06T20:43:19.295Z","summary":"Composite schemas WG - Weekly 4","description":"The weekly &quot;secondary&quot; meeting of the composite schemas WG: <a href=\"https://www.google.com/url?q=https://github.com/graphql/composite-schemas-wg&amp;sa=D&amp;source=calendar&amp;ust=1705485336953792&amp;usg=AOvVaw2Q-_4UTHWaoyJN2AH2IOOj\" target=\"_blank\"><u>https://github.com/graphql/composite-schemas-wg</u></a><br><br>Meeting password is &quot;composite&quot;<br><br>Live notes are at <a href=\"https://www.google.com/url?q=https://docs.google.com/document/d/1hJO6U7daYvcNcQ3FBKnh3v4R256ers6M8IGyqRpY_kE/edit?usp%3Dsharing&amp;sa=D&amp;source=calendar&amp;ust=1705485336953792&amp;usg=AOvVaw0X0P-sYnFscUhYuHj6v6MG\" target=\"_blank\"><u>https://docs.google.com/document/d/1hJO6U7daYvcNcQ3FBKnh3v4R256ers6M8IGyqRpY_kE/edit?usp=sharing</u></a>","location":"https://zoom.us/j/91078840351","creator":{"email":"benjie@graphile.com"},"organizer":{"email":"linuxfoundation.org_ik79t9uuj2p32i3r203dgv5mo8@group.calendar.google.com","displayName":"GraphQL Foundation - Public","self":true},"start":"2025-12-25T12:00:00-05:00","end":"2025-12-25T13:00:00-05:00","recurringEventId":"s9agipg1r702pfngano7pol2h5","originalStartTime":{"dateTime":"2025-12-25T12:00:00-05:00","timeZone":"Europe/Berlin"},"iCalUID":"s9agipg1r702pfngano7pol2h5@google.com","sequence":1,"eventType":"default"}
{"kind":"calendar#event","etag":"\"3524923550687710\"","id":"4igp67o2j2nkso49c1d6nbv040_20251225T180000Z","status":"confirmed","htmlLink":"https://www.google.com/calendar/event?eid=NGlncDY3bzJqMm5rc280OWMxZDZuYnYwNDBfMjAyNTEyMjVUMTgwMDAwWiBsaW51eGZvdW5kYXRpb24ub3JnX2lrNzl0OXV1ajJwMzJpM3IyMDNkZ3Y1bW84QGc","created":"2025-04-15T10:29:33.000Z","updated":"2025-11-06T20:42:55.343Z","summary":"GraphQL OTel WG","description":"Zoom password: otel<br> <br><a href=\"https://github.com/graphql/otel-wg/tree/main/agendas\">https://github.com/graphql/otel-wg</a>","location":"https://zoom.us/j/93594710848?pwd=meEB8rd5g69r5DF8zFaL8VIWO2Il1v.1","creator":{"email":"benjie@graphile.com"},"organizer":{"email":"linuxfoundation.org_ik79t9uuj2p32i3r203dgv5mo8@group.calendar.google.com","displayName":"GraphQL Foundation - Public","self":true},"start":"2025-12-25T13:00:00-05:00","end":"2025-12-25T14:00:00-05:00","recurringEventId":"4igp67o2j2nkso49c1d6nbv040","originalStartTime":{"dateTime":"2025-12-25T13:00:00-05:00","timeZone":"America/Los_Angeles"},"iCalUID":"4igp67o2j2nkso49c1d6nbv040@google.com","sequence":0,"eventType":"default"}
{"kind":"calendar#event","etag":"\"3524923616454910\"","id":"pag44b4o3k87r90laj5vf5t67v_20251225T190000Z","status":"confirmed","htmlLink":"https://www.google.com/calendar/event?eid=cGFnNDRiNG8zazg3cjkwbGFqNXZmNXQ2N3ZfMjAyNTEyMjVUMTkwMDAwWiBsaW51eGZvdW5kYXRpb24ub3JnX2lrNzl0OXV1ajJwMzJpM3IyMDNkZ3Y1bW84QGc","created":"2023-12-04T10:48:14.000Z","updated":"2025-11-06T20:43:28.227Z","summary":"GraphQL-over-HTTP WG","description":"Zoom password: httpwg","location":"https://zoom.us/j/92781382543","creator":{"email":"benjie@graphile.com"},"organizer":{"email":"linuxfoundation.org_ik79t9uuj2p32i3r203dgv5mo8@group.calendar.google.com","displayName":"GraphQL Foundation - Public","self":true},"start":"2025-12-25T14:00:00-05:00","end":"2025-12-25T15:00:00-05:00","recurringEventId":"pag44b4o3k87r90laj5vf5t67v","originalStartTime":{"dateTime":"2025-12-25T14:00:00-05:00","timeZone":"America/Los_Angeles"},"iCalUID":"pag44b4o3k87r90laj5vf5t67v@google.com","sequence":3,"eventType":"default"}
30 changes: 30 additions & 0 deletions src/_design-system/eyebrow.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
import { clsx } from "clsx"

import { ChevronRight } from "@/app/conf/_design-system/pixelarticons/chevron-right"

export interface EyebrowProps extends React.HTMLAttributes<HTMLElement> {
children: React.ReactNode
className?: string
as?: "p" | "span" | "h2" | "h3" | "h4" | "h5" | "h6"
}

export function Eyebrow({
children,
className,
as = "span",
...rest
}: EyebrowProps) {
const Root = as
return (
<Root
className={clsx(
"typography-menu flex items-center gap-1 text-pri-base dark:text-pri-light",
className,
)}
{...rest}
>
<ChevronRight className="size-4 translate-x-[0.5px]" />
{children}
</Root>
)
}
4 changes: 2 additions & 2 deletions src/app/(main)/community/events/benefits-section.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@ import EyeIcon from "@/app/conf/_design-system/pixelarticons/eye.svg?svgr"

import { BenefitCard } from "./benefit-card"

export function BenefitsSection() {
export function BenefitsSection({ id }: { id?: string }) {
return (
<section className="gql-section">
<section className="gql-section" id={id}>
<div className="mx-auto max-w-3xl text-center">
<h2 className="typography-h2 text-balance">
Benefits of getting involved
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@ import Mailbox from "./mailbox.svg?svgr"
import { Button } from "@/app/conf/_design-system/button"
import { DISCORD_CHANNEL_LINK, DISCORD_SERVER_LINK } from "./links"

export function GetYourMeetupNoticedSection() {
export function GetYourMeetupNoticedSection({ id }: { id?: string }) {
return (
<section className="gql-section">
<section className="gql-section" id={id}>
<div className="flex flex-col-reverse gap-4 border border-sec-dark bg-sec-lighter p-6 dark:border-sec-base/40 dark:bg-sec-darker/20 sm:gap-10 sm:p-10 lg:flex-row lg:items-center lg:gap-16 lg:px-16">
<div>
<p className="typography-h2 text-balance text-neu-900">
Expand Down Expand Up @@ -41,7 +41,7 @@ export function GetYourMeetupNoticedSection() {
Go to Discord
</Button>
</div>
<div className="flex aspect-square w-full max-w-[320px] items-center justify-center border border-sec-dark bg-sec-light p-2 text-sec-darker dark:border-sec-base/40 dark:bg-sec-dark/10 max-sm:size-16 sm:p-8">
<div className="flex aspect-square w-full max-w-[320px] items-center justify-center border border-sec-dark bg-sec-light p-2 text-sec-darker dark:border-sec-base/40 dark:bg-sec-dark/10 max-lg:size-16 lg:p-8">
<Mailbox aria-hidden className="size-full" />
</div>
</div>
Expand Down
Loading
Loading