Skip to content

Enhance website field in social to support multiple values #146

@fullo

Description

@fullo

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions