-
Notifications
You must be signed in to change notification settings - Fork 4
Description
Some champions might have more than one website, such as a personal portfolio, a professional website, or additional relevant links. Allowing website to be an array accommodates this use case and improves flexibility. This will also allow me (and the other champions) to publish our sessionize.com profile to be called as GS speakers.
Changes
- Updated website in social from string to string[] in types.ts.
Previous definition:
website?: string;
Updated definition:
website?: string[];
Example Usage
With this change, the website field can now hold multiple URLs:
const champion: Champion = {
firstName: "Jane",
lastName: "Smith",
role: "Engineer",
organization: "Tech World",
languages: ["English", "German"],
pronoun: "she/her",
city: "Berlin",
country: "Germany",
bio: "Full-stack developer with a passion for open source.",
image: "jane.jpg",
url: undefined,
type: "Speaker",
social: {
twitter: "@janesmith",
linkedin: "linkedin.com/in/janesmith",
website: ["https://janesmith.dev", "https://blog.janesmith.dev"], // Multiple websites
github: "github.com/janesmith"
},
notes: "Keynote speaker at TechConf.",
activities: []
};
Backward Compatibility/Impacts
This change maintains backward compatibility. Existing single-value website fields will seamlessly migrate to a one-element array.
Code relying on website as a single string will require minimal adjustment to handle arrays in the rendering of the champion's profileCard