Contributing

So you want to contribute? Well feel more than welcomed to!

Commits

Commits should follow the rules of conventionalcommits.org, if they do not follow this you will be asked to fix your commits.

Adding platforms

To add a platform first ensure the platform meets the platform requirements listed on the FAQ then you can either make an issue and use the platform request template, or if you want to add it yourself you can get started by going to pages/api which from there you can make a directory of the platform name, in the directory create another directory of the type of image that will be returned like user, channel, or song. Once you have created that you can create a dynamic route file like so: [uname].ts, uname meaning username. you can refer to the other files for what the contents should look like. Once everything is made you can navigate to lib/assets and create a directory of the name and a sub-directory of the type, within the sub-directory create a file called image.tsx in this file you can create the actual svg, for reference you can see the other ones

Adding themes

To add themes you can go to /themes.json and add a theme by adding the following entry:

/* themes.json */
{
themes: {
dark: {
bg: "#000",
text: "#FFF",
description: "#B4B4B4",
stats: "#C4C4C4",
statsText: "#646464",
icon: "#C4C4C4",
accent: "#9D9D9D",
},
"your-theme": {
// add your theme here
bg: "#000",
text: "#FFF",
description: "#B4B4B4",
stats: "#C4C4C4",
statsText: "#646464",
icon: "#C4C4C4",
accent: "#9D9D9D",
},
},
}

to see a list of available theme attributes you can go to lib/types/ThemesTypes.ts

Adding theme attributes

What are theme attributes?

Attributes are query values used for customization with themes.

How can I add theme attributes?

To add attributes you can go to lib/types/ThemesTypes.ts and then add your theme attribute to the /themes.json file with just a default value of #FFF.