- {/*[Illustration: just a simple query and response?]*/}
-
- Send a GraphQL query to your API and get exactly what you need,
- nothing more and nothing less. GraphQL queries always return
- predictable results. Apps using GraphQL are fast and stable because
- they control the data they get, not the server.
-
- {/*Illustration: a query 2 or 3 levels deep]*/}
-
- GraphQL queries access not just the properties of one resource but
- also smoothly follow references between them. While typical REST
- APIs require loading from multiple URLs, GraphQL APIs get all the
- data your app needs in a single request. Apps using GraphQL can be
- quick even on slow mobile network connections.
-
- Describe what’s possible
-
- with a type system
-
- {/*Illustration of a type IDL following a query by line]*/}
- {/*Under: a server <-> client (Capabilities, Requirements)]?*/}
-
- GraphQL APIs are organized in terms of types and fields, not
- endpoints. Access the full capabilities of your data from a single
- endpoint. GraphQL uses types to ensure Apps only ask for what’s
- possible and provide clear and helpful errors. Apps can use types to
- avoid writing manual parsing code.
-
- Apply for a Visa or{" "}
- Scholarship or find more
- help in our FAQ.
-
-
-
-
-
-
- )
-}
-
-export default PricingConf
diff --git a/src/components/Conf/SF/index.tsx b/src/components/Conf/SF/index.tsx
deleted file mode 100644
index 76200e97dd..0000000000
--- a/src/components/Conf/SF/index.tsx
+++ /dev/null
@@ -1,58 +0,0 @@
-import React from "react"
-import { AspectRatio } from "../../aspect-ratio"
-
-interface Image {
- src: string
- name: string
- description: string
- link: string
-}
-
-const images: Image[] = [
- {
- src: "https://events.linuxfoundation.org/wp-content/uploads/2022/12/San-Francisco-Golden-Gate-Bridge-unsplash.jpg",
- name: "Golden Gate Bridge",
- description:
- "Each year the Golden Gate Bridge attracts more than 10 million visitors to take in its tremendous 746-foot tall towers, sweeping main cables, signature International Orange color and Art Deco styling. It is a sensory experience featuring color, light and sound.",
- link: "https://www.goldengate.org/",
- },
- {
- src: "https://events.linuxfoundation.org/wp-content/uploads/2022/12/San-Francisco-North-Beach-unsplash.jpg",
- name: "North Beach San Francisco",
- description:
- "North Beach, a buzzy neighborhood steeped in Italian heritage, draws locals and tourists to its checked-tablecloth trattorias, coffee shops and retro-flavored bars.",
- link: "https://www.sftravel.com/neighborhoods/north-beach",
- },
- {
- src: "https://events.linuxfoundation.org/wp-content/uploads/2022/12/San-Francisco-Alcatraz-unsplash.jpg",
- name: "Alcatraz",
- description:
- "Alcatraz reveals stories of American incarceration, justice, and our common humanity. This small island was once a fort, a military prison, and a maximum security federal penitentiary.",
- link: "https://www.nps.gov/alca/index.htm",
- },
- {
- src: "https://events.linuxfoundation.org/wp-content/uploads/2022/12/San-Francisco-Fishermans-Wharf-unsplash.jpg",
- name: "Fisherman’s Wharf",
- description:
- "Fisherman’s Wharf, on the northern waterfront, is one of the city’s busiest tourist areas. Souvenir shops and stalls selling crab and clam chowder in sourdough bread bowls appear at every turn, as do postcard views of the bay, Golden Gate and Alcatraz. There’s also a colony of sea lions to see and historic ships to tour. At Ghirardelli Square, boutiques and eateries reside in the famed former chocolate factory.",
- link: "https://www.fishermanswharf.org/",
- },
-]
-const SFConf = () => {
- return (
-
-
- About San Francisco Bay Area
-
-
- {images.map(image => (
-
-
-
- ))}
-
-
- )
-}
-
-export default SFConf
diff --git a/src/components/Conf/Section/index.tsx b/src/components/Conf/Section/index.tsx
deleted file mode 100644
index e1df75589f..0000000000
--- a/src/components/Conf/Section/index.tsx
+++ /dev/null
@@ -1,22 +0,0 @@
-import React from "react"
-
-interface Props {
- id: string
- title: string
- children: React.ReactNode
- className?: string
-}
-
-const SectionConf = ({ id, title, children }: Props): JSX.Element => (
- // Padding down so hash-links to this id display below the header menu
-
-)
-
-export default SectionConf
diff --git a/src/components/Conf/Seo/index.tsx b/src/components/Conf/Seo/index.tsx
deleted file mode 100644
index b093f13ceb..0000000000
--- a/src/components/Conf/Seo/index.tsx
+++ /dev/null
@@ -1,47 +0,0 @@
-import React from "react"
-
-export const defaults = {
- title: "GraphQLConf 2023 — Sept 19-21 • SF Bay Area",
- twitterTitle: "#GraphQLConf 2023 — Sept 19-21 • SF Bay Area",
- description:
- "The official GraphQL conference hosted by the GraphQL Foundation.",
- url: "https://graphql.org/conf/",
- image: "http://graphql.org/img/conf/social-pk.jpg",
-}
-
-export default function SeoConf(props: {
- title?: string
- twitterTitle?: string
- description?: string
- ogImage?: {
- url: string
- width: number
- height: number
- }
-}) {
- const title = props.title ?? defaults.title
- const twitterTitle =
- props.twitterTitle ?? props.title ?? defaults.twitterTitle
- const description = props.description ?? defaults.description
- const image = props.ogImage?.url ?? defaults.image
-
- return (
- <>
- {title}
-
-
-
-
-
-
-
-
-
-
-
- >
- )
-}
diff --git a/src/components/Conf/Venue/index.tsx b/src/components/Conf/Venue/index.tsx
deleted file mode 100644
index 37b7648b08..0000000000
--- a/src/components/Conf/Venue/index.tsx
+++ /dev/null
@@ -1,251 +0,0 @@
-import React from "react"
-import { ReactComponent as TrainIcon } from "../../../../static/img/conf/train.svg"
-import { ReactComponent as AroundIcon } from "../../../../static/img/conf/around.svg"
-import { ReactComponent as ParkingIcon } from "../../../../static/img/conf/parking.svg"
-import { ReactComponent as BusIcon } from "../../../../static/img/conf/bus.svg"
-
-const VenueConf = () => {
- return (
- // Invisible padding so anchor links align to the header menu
-
-
- Location & Venue
-
-
-
- GraphQLConf 2023 is hosted in the San Francisco Bay Area, where
- GraphQL was first created. It's hosted at the{" "}
-
- Hyatt Regency SFO
- {" "}
- hotel in Burlingame, CA.
-
- Dates with Availability: September 18, 19, 20, 21, 2023
-
- Room Rates Start From: $179.00
-
- Room Block Closes: 12:00 PM Pacific on September 8, 2023.
-
-
- (Please note, the rate is valid until the cut-off date or the
- room block is full)
-
-
- Please note, rooms will most likely sell out in advance of the{" "}
-
- room block
- {" "}
- close dates. We encourage you to book early to secure a room at
- the conference rate.
-
- Important: The Linux Foundation
- will never reach out to attendees by phone to make hotel
- reservations for our conferences. Please be advised that the most
- secure way to book in our discounted room block is by using the
- direct booking link provided below or by calling the hotel
- directly. If you receive a phone call or email from someone
- claiming to be with The Linux Foundation or the hotel and they
- attempt to sell you a hotel room, please email us at{" "}
-
- housing@linuxfoundation.org
-
- .
-
- Take the Hyatt Shuttle Bus to/from SFO International Terminal
- to connect with BART. Approximate cost from the station to
- downtown San Francisco is $8.65 one-way.
-
- The Hyatt Regency SFO offers a 24-hour complimentary
- San Francisco International Airport (SFO) shuttle which runs
- every 15 minutes from 4:00AM until 1:00AM and
- every 30 minutes from 1:00AM until 4:00AM. At
- SFO, go to the area marked "Hotel Shuttle." The bus is marked
- "Hyatt Regency and Marriott.”
-
-
- ),
- },
- ].map(o => (
-
-
-
-
- {o.title}
-
- {o.content}
-
-
- ))}
-
-
- )
-}
-
-export default VenueConf
diff --git a/src/components/ConfLayout/index.tsx b/src/components/ConfLayout/index.tsx
deleted file mode 100644
index 26ad18fa4e..0000000000
--- a/src/components/ConfLayout/index.tsx
+++ /dev/null
@@ -1,55 +0,0 @@
-import React from "react"
-import { Link } from "gatsby"
-import DocsSidebar from "../DocsSidebar"
-import Marked from "../Marked"
-
-interface Props {
- title: string
- heroText: string
- nextDoc: any
- permalink: string
- sideBarData: any
- rawMarkdownBody: string
- pageContext: any
-}
-
-const Index = ({
- title,
- heroText,
- nextDoc,
- sideBarData,
- rawMarkdownBody,
- pageContext,
-}: Props) => {
- return (
-
-
-
- >
- )
-}
diff --git a/src/pages/404.tsx b/src/pages/404.tsx
deleted file mode 100644
index 20fbb5a4cc..0000000000
--- a/src/pages/404.tsx
+++ /dev/null
@@ -1,22 +0,0 @@
-import * as React from "react"
-import Layout from "../components/Layout"
-import Seo from "../components/Seo"
-
-const NotFound: React.FC = ({}) => {
- return (
-
-
-
-
Oops!
-
Page not found!
-
-
-
- )
-}
-
-export function Head() {
- return
-}
-
-export default NotFound
diff --git a/src/pages/blog.tsx b/src/pages/blog.tsx
deleted file mode 100644
index 1bb3a7566c..0000000000
--- a/src/pages/blog.tsx
+++ /dev/null
@@ -1,43 +0,0 @@
-import * as React from "react"
-import { graphql } from "gatsby"
-import type { PageProps } from "gatsby"
-import Layout from "../components/Layout"
-import BlogPostPreview from "../components/BlogPostPreview"
-import BlogSidebar from "../components/BlogSidebar"
-import Seo from "../components/Seo"
-
-export const query = graphql`
- query BlogPostListPage {
- allBlogPost(sort: { date: DESC }) {
- nodes {
- id
- ...BlogPostPreview_post
- }
- }
- }
-`
-
-type Props = PageProps
-
-const BlogPostListPage: React.FC = ({ data }) => {
- return (
-
-
-
-
- {data.allBlogPost.nodes.map(post => (
-
- ))}
-
-
-
-
-
- )
-}
-
-export function Head() {
- return
-}
-
-export default BlogPostListPage
diff --git a/src/pages/blog/{BlogPost.postId}.tsx b/src/pages/blog/{BlogPost.postId}.tsx
deleted file mode 100644
index e6e10adabb..0000000000
--- a/src/pages/blog/{BlogPost.postId}.tsx
+++ /dev/null
@@ -1,34 +0,0 @@
-import * as React from "react"
-import type { PageProps, HeadProps } from "gatsby"
-import { graphql } from "gatsby"
-import Layout from "../../components/Layout"
-import BlogLayout from "../../components/BlogLayout"
-import Seo from "../../components/Seo"
-
-export const query = graphql`
- query BlogPostPage($id: String!) {
- blogPost(id: { eq: $id }) {
- title
- ...BlogLayout_post
- }
- }
-`
-
-type Props = PageProps
-
-const BlogPostPage: React.FC = ({ data }) => {
- // Always exist since it is collected by Gatsby filesystem route API
- const post = data.blogPost!
-
- return (
-
-
-
- )
-}
-
-export function Head({ data }: HeadProps) {
- return
-}
-
-export default BlogPostPage
diff --git a/src/pages/brand.tsx b/src/pages/brand.tsx
deleted file mode 100644
index 60d9229778..0000000000
--- a/src/pages/brand.tsx
+++ /dev/null
@@ -1,405 +0,0 @@
-import React, { useState } from "react"
-import type { PageProps } from "gatsby"
-import Layout from "../components/Layout"
-import Seo from "../components/Seo"
-
-export default ({ pageContext }: PageProps<{}, { sourcePath: string }>) => {
- return (
-
-
-
GraphQL Logo & Brand Guidelines
-
-
-
-
-
-
-
-
- Do keep the “GraphQL” word consistent, with the first
- letter and QL capitalized.
-
-
- Do use "GraphQL" to clearly describe the GraphQL project
- or a conforming technology.
-
-
GraphQL for Go
-
Quick Start to GraphQL by <company>
-
-
-
- Do provide clear attribution for projects, services and
- events, balancing "GraphQL" with your own brand.
-
-
<service> for GraphQL by <company>
-
Seattle GraphQL Meetup hosted by <company>
-
-
-
-
-
- Don't lowercase or abbreviate “GraphQL” (for example
- "Graphql" or “GQL”).
-
-
- Don't directly combine “GraphQL” with another trademark
- or generic term.
-
-
Go GraphQL
-
GraphQL Quick Start by <company>
-
-
-
- Don't use “GraphQL” in a way that could imply
- partnership, sponsorship, or endorsement by the GraphQL project or
- GraphQL Foundation either directly or by omission.
-
-
- Don't use the GraphQL brand disparagingly or in any other
- way that violates our{" "}
-
- code of conduct
-
- .
-
- Because GraphQL is a communication pattern, there are many tools
- to help you get started working which support GraphQL in all
- sorts of languages.
-
- Answers to many common questions are readily available on this event’s
- website. If you cannot find the answer to your question, you are welcome
- to contact us by emailing{" "}
-
- graphql_events@linuxfoundation.org
-
- .
-
- We never sell attendee lists or contact information, nor do we authorize
- others to do so. If you receive an email claiming to sell an attendee
- list for a Linux Foundation event, please forward it to{" "}
-
- events@linuxfoundation.org
-
- .
-
- The GraphQL Foundation and the Linux Foundation are dedicated to
- providing a harassment-free experience for participants at all of our
- events, whether they are held in person or virtually. GraphQLConf is a
- working conference intended for professional networking and
- collaboration within the open source community. It exists to encourage
- the open exchange of ideas and expression and requires an environment
- that recognizes the inherent worth of every person and group. While at
- GraphQLConf or related ancillary or social events, any participants,
- including members, speakers, attendees, volunteers, sponsors,
- exhibitors, booth staff and anyone else, should not engage in
- harassment in any form.
-
-
- This Code of Conduct may be revised at any time by The GraphQL
- Foundation or The Linux Foundation and the terms are non-negotiable.
- Your registration for or attendance at GraphQL, whether in person or
- virtually, indicates your agreement to abide by this policy and its
- terms.
-
-
- Please read the full{" "}
-
- Code of Conduct
- {" "}
- for the complete policy and terms.
-
- Education and collaboration are vital to the future of the open source
- ecosystem, and it is imperative to us that everyone in the community
- that wants to participate feels welcome to do so regardless of gender,
- gender identity, sexual orientation, disability, race, ethnicity, age,
- religion or economic status. Our{" "}
- code of conduct outlines our expectations
- for all those who participate in our community, as well as the
- consequences for unacceptable behavior.
-
- If you have ideas on how we can create a more inclusive event, please
- do not hesitate to let us know. Contact Emily Ruf, Senior Event
- Manager, at{" "}
- eruf@linuxfoundation.org
- .
-
- Invoice receipts are downloadable from the confirmation email you
- received after registering under the Payment Receipt Information
- section. If the downloadable invoice receipt does not meet your needs
- or you need to have your confirmation email resent, please submit your
- request{" "}
-
- here
-
- . Please include any additional customization you need for your
- invoice receipt in the request.
-
-
-
Certificates of Attendance
-
- To request a Certificate of Attendance, please submit a request{" "}
-
- here
-
- .
-
-
- Please Note: We verify attendance through the registration system, and
- Certificate of Attendance letters are sent out after the event is
- completed.
-
- Refunds will only be issued for cancellations received two weeks prior
- to the event start date, including bulk ticket request refunds, and
- will appear as a credit on the card’s statement 7 – 10 business days
- after cancellation. Due to the ongoing pandemic, individual refund
- requests due to COVID-19 positive tests will be honored up until the
- start date of the event, and must be accompanied by a photo of a
- positive COVID-19 test.
-
-
- Please note: Refunds can only be issued on the card the original
- payment was made.
-
-
Substitutions
-
- If you are unable to attend, you may substitute another attendee in
- lieu of cancellation. To substitute an attendee,{" "}
-
- sign back into your registration
-
- , click the “Register/Modify”, and select “Transfer Registration” on
- your confirmation page.
-
- )
-}
-
-export function Head() {
- return
-}
-
-export default GalleryPage
diff --git a/src/pages/conf/sched.tsx b/src/pages/conf/sched.tsx
deleted file mode 100644
index b45ee963a9..0000000000
--- a/src/pages/conf/sched.tsx
+++ /dev/null
@@ -1,63 +0,0 @@
-import React from "react"
-import FooterConf from "../../components/Conf/Footer"
-import HeaderConf from "../../components/Conf/Header"
-import LayoutConf from "../../components/Conf/Layout"
-import SeoConf from "../../components/Conf/Seo"
-import { Script } from "gatsby"
-
-export default () => {
- return (
-
-
-
-
-
-
GraphQLConf 2023 Schedule
-
-
September 19-21, 2023 I San Francisco Bay Area, CA
-
- Please note: All session times are in Pacific Daylight Time (UTC
- -7). To view the schedule in your preferred timezone,
- please select from the drop-down menu to the right, above “Filter
- by Date.”
-
-
- IMPORTANT NOTE: Timing of sessions and room locations are{" "}
- subject to change.
-
- Join us for a GraphQLConf Workshop Day on September 19. Workshops
- are included in GraphQLConf registration though pre-registration
- is required -{" "}
-
- register now
-
- , or modify your registration and join us! Workshop space is
- available on a first come, first served basis.
-
-
Thank you to our Workshop Day sponsor, The Guild.
-
-
-
*/}
-
-
-
-
-
- )
-}
-
-export function Head() {
- return
-}
diff --git a/src/pages/conf/speak.tsx b/src/pages/conf/speak.tsx
deleted file mode 100644
index 8b6b0c1da4..0000000000
--- a/src/pages/conf/speak.tsx
+++ /dev/null
@@ -1,348 +0,0 @@
-import React, { ReactNode, Fragment } from "react"
-import FooterConf from "../../components/Conf/Footer"
-import HeaderConf from "../../components/Conf/Header"
-import LayoutConf from "../../components/Conf/Layout"
-import ButtonConf from "../../components/Conf/Button"
-import SectionConf from "../../components/Conf/Section"
-import SeoConf from "../../components/Conf/Seo"
-
-const cfp: Array<{ id: string; title: string; contents: ReactNode }> = [
- {
- id: "dates",
- title: "Dates to Remember",
- contents: (
-
- Panel submissions must include the names of all participants in the
- initial submission to be considered. In an effort to promote speaker
- diversity, The Linux Foundation does not accept submissions with
- all-male panels, and speakers must not all be from the same company.
-
-
- Complimentary Passes For Speakers – One complimentary pass for the
- event will be provided for the accepted speaker(s) per submission.
-
-
- Avoid sales or marketing pitches and discussing unlicensed or
- potentially closed-source technologies when preparing your proposal;
- these talks are almost always rejected due to the fact that they take
- away from the integrity of our events, and are rarely well-received by
- conference attendees.
-
-
- The Linux Foundation will not select submissions that have already
- been presented at a previous Linux Foundation event within the past
- year. If your submission is similar to a previous talk, please explain
- how this version differs.
-
-
- You are allowed to be listed as a speaker on a maximum of two
- proposals submitted to the CFP, regardless of the format. If you are
- listed on more than two, we will contact you to remove yourself from
- any additional proposals.
-
-
- You may only be selected to speak on one panel and one non-panel
- session per event.
-
-
- All accepted speakers are required to submit their slides prior to the
- event.
-
- While it is not our intention to provide you with strict instructions
- on how to prepare your proposal, we hope you will take a moment to
- review the following guidelines that we have put together to help you
- prepare the best submission possible. To get started, here are three
- things that you should consider before submitting your proposal:
-
-
-
What are you hoping to get from your presentation?
-
- What do you expect the audience to gain from your presentation?
-
-
How will your presentation help better the ecosystem?
-
- There are plenty of ways to give a presentation about projects and
- technologies without focusing on company-specific efforts. Remember
- the things to consider that we mentioned above when writing your
- proposal and think of ways to make it interesting for attendees
- while still letting you share your experiences, educate the
- community about an issue, or generate interest in a project.
-
-
-
Writing Your Proposal
-
- Your abstract title will be the main point of reference for attendees
- to decide if they want to attend your talk, so choose it carefully.
- The title should accurately reflect the content of your talk and
- comply with The Linux Foundation’s{" "}
-
- Inclusive Language Initiative
-
- . Please use title case when inputting your title.
-
-
- In the abstract, make the most of your opportunity to pitch your talk
- to the program committee by emphasizing its problem, contribution, and
- relevance. Don’t forget technical details, but keep the big picture in
- mind. Your proposal’s description should be focused, detailed, and
- comply with The Linux Foundation’s Inclusive Language Initiative. It
- will appear on the website schedule if accepted, so ensure it’s
- error-free, uses full sentences, and written in the third person. This
- description can make or break an attendee’s decision to attend your
- talk, so provide enough information to aid their choice, and be
- concise. The competition for presentation slots is high, so a
- well-crafted, engaging abstract will improve your chances of
- acceptance.
-
- Have More Questions? First Time Submitting? Don’t Feel Intimidated
-
- Linux Foundation events are an excellent way to get to know the
- community and share your ideas and the work that you are doing and we
- strongly encourage first-time speakers to submit talks for our events.
- In the instance that you aren’t sure about your abstract,{" "}
- reach out to us and we will
- be more than happy to work with you on your proposal.
- >
- ),
- },
- {
- id: "sessionize",
- title: "Using Sessionize",
- contents: (
- <>
-
First time using Sessionize?
-
- Sessionize is a cloud-based event content management software designed
- to be intuitive and user-friendly. If you need guidance, please review
- how to submit your session for an event for step-by-step instructions
- and helpful screenshots.
-
-
-
Submitting on behalf of somebody else?
-
- While speakers ordinarily submit their sessions themselves, it’s also
- common for them to have someone else do it in their name. Submitters
- can choose to submit as someone else and must fill out the necessary
- speaker fields, but the session submission process is otherwise
- identical to when the session is submitted by the speaker themselves.
-
- Putting on an amazing conference depends on great content, which
- is where you come in! Join other GraphQL leaders and community
- members as a presenter by submitting to our Call for Proposals
- (CFP) and sharing your experience across a wide range of topics.
-
-
- The CFP is open through Friday, June 9. For any questions
- regarding the CFP process, please email{" "}
-
- cfp@linuxfoundation.org
-
- .
-
- Please be aware that the Linux Foundation will now be utilizing
- Sessionize for CFP submissions. Sessionize is a cloud-based event
- content management software designed to be intuitive and
- user-friendly. If you need guidance, please review{" "}
-
- how to submit your session for an event
- {" "}
- to see step-by-step instructions and helpful screenshots.
-
- The GraphQL Foundation is the primary way
- in which funding is raised and distributed to support essential
- GraphQL community programs. The members listed on this page are
- directly invested in the success and long-term sustainability of the
- GraphQL community.
-
- GraphQL is a query language for APIs and a runtime for fulfilling
- those queries with your existing data. GraphQL provides a complete and
- understandable description of the data in your API, gives clients the
- power to ask for exactly what they need and nothing more, makes it
- easier to evolve APIs over time, and enables powerful
- developer tools.
-
-
-
-
-
-
-
-
-
-
- )
-}
-
-export function Head() {
- return
-}
diff --git a/src/pages/users.tsx b/src/pages/users.tsx
deleted file mode 100644
index 530d6171e4..0000000000
--- a/src/pages/users.tsx
+++ /dev/null
@@ -1,51 +0,0 @@
-import React from "react"
-import type { PageProps } from "gatsby"
-import Layout from "../components/Layout"
-import Seo from "../components/Seo"
-
-export default ({ pageContext }: PageProps<{}, { sourcePath: string }>) => {
- return (
-
-
-
-
Who’s using GraphQL?
-
- GraphQL is used by teams of all sizes in many different environments
- and languages to power mobile apps, websites, and APIs.
-
-
-
-
- )
-}
-
-export default SpeakersTemplate
-
-export function Head({
- pageContext,
- location,
-}: HeadProps<{}, { speaker: SchedSpeaker }>) {
- const { speaker } = pageContext
-
- return (
- <>
-
-
-
- >
- )
-}
diff --git a/src/templates/speakers.tsx b/src/templates/speakers.tsx
deleted file mode 100644
index 7c6fcf9c8f..0000000000
--- a/src/templates/speakers.tsx
+++ /dev/null
@@ -1,66 +0,0 @@
-import React, { FC } from "react"
-import FooterConf from "../components/Conf/Footer"
-import HeaderConf from "../components/Conf/Header"
-import LayoutConf from "../components/Conf/Layout"
-import SeoConf from "../components/Conf/Seo"
-import { keynoteSpeakers } from "../components/Conf/Speakers"
-import Speaker, { SchedSpeaker } from "../components/Conf/Speakers/Speaker"
-import { PageProps } from "gatsby"
-
-const SpeakersTemplate: FC> = ({
- pageContext: { speakers: speakersData },
-}) => {
- const keynoteNames = keynoteSpeakers.map(speaker => speaker.name)
-
- // create an array for keynote speakers in fetched data maintaining the order in keynoteSpeakers
- const keynoteSpeakersData = keynoteNames
- .map(name => {
- return speakersData.find(speaker => speaker.name === name)
- })
- .filter(Boolean) as SchedSpeaker[]
-
- const otherSpeakersData = speakersData.filter(
- speaker => !keynoteNames.includes(speaker.name),
- )
-
- // Sort other speakers by last name alphabetically
- otherSpeakersData.sort((a, b) => {
- const aLastName = a.name.split(" ").slice(-1)[0].toLowerCase()
- const bLastName = b.name.split(" ").slice(-1)[0].toLowerCase()
-
- return aLastName.localeCompare(bLastName)
- })
-
- const speakers = [...keynoteSpeakersData, ...otherSpeakersData]
-
- return (
-
-
-
-
-
-
-
GraphQLConf 2023 Speakers
-
- Meet the unique lineup of insightful speakers we've carefully
- chosen, who are primed to share their groundbreaking ideas and
- innovative practices in the realm of GraphQL at the conference.
-
-
-
-
- {speakers.map(speaker => (
-
- ))}
-
-
-
-
- )
-}
-
-export function Head() {
- return
-}
-
-export default SpeakersTemplate
diff --git a/src/templates/{BlogPost.tags}.tsx b/src/templates/{BlogPost.tags}.tsx
deleted file mode 100644
index 49da681263..0000000000
--- a/src/templates/{BlogPost.tags}.tsx
+++ /dev/null
@@ -1,43 +0,0 @@
-import * as React from "react"
-import type { PageProps } from "gatsby"
-import { graphql } from "gatsby"
-import Layout from "../components/Layout"
-import BlogPostPreview from "../components/BlogPostPreview"
-import BlogSidebar from "../components/BlogSidebar"
-import Seo from "../components/Seo"
-
-export const query = graphql`
- query TagPage($tag: String!) {
- allBlogPost(filter: { tags: { in: [$tag] } }) {
- nodes {
- id
- ...BlogPostPreview_post
- }
- }
- }
-`
-
-type Props = PageProps
-
-const TagPage: React.FC = ({ data }) => {
- return (
-
-
-