catppuccin/docs/contributing.md
es183923 b0fd23dcfc
docs(contributing): explain emoji usage
Co-authored-by: winston <hey@winston.sh>
2022-08-30 19:28:40 +02:00

3.1 KiB

🤝 Contributing

Creating Catppuccin ports

 

What's a port?

A port is basically an adaptation of Catppuccin's palettes for an app to use. Think of it as a colorscheme for a program that styles every UI component it consists of!

 

Creation

You can create ports using this public template as a blueprint. However, you must not create it the traditional way (by clicking Use this template), because this leaves a small tag under the repos' name that says generated from <template>. To avoid this, follow the instructions below:

  1. Create the repo and leave it empty:
mkdir name_of_your_port
cd name_of_your_port
git init
  1. Add this template as a remote:
git remote add template https://github.com/catppuccin/template.git
  1. Pull from it:
git pull template main
  1. Delete the remote:
git remote remove template
  1. Make the template its own repository by running
git reset $(git commit-tree HEAD^{tree} -m "feat: initial commit")
  1. Set up the rest of your port, and push it to your user repository!

 

Styling!

Although you just created the repo successfully, it's important to style it properly to ensure consistency:

  • The name of the repo must be the simplest version of the app's name (e.g nvim instead of NeoVim). You may use hyphens if needed (e.g. windows-files).
  • Put the images under assets/. If there are a bunch of them consider creating an empty branch (e.g. assets) and storing them there.
  • Format the repo's description as "<emoji> Soothing pastel theme for <app name>".
    • <emoji> should be an emoji that you feel represents the app best.
    • <app name> is the name of the app, capitalized properly.
  • Add catppuccin to the topics.
  • Ensure uppercase meta files (e.g. README.md)
  • Don't add health files (e.g. CODE_OF_CONDUCTS.md, SUPPORT.md), those are organization-wide files stored here.

 

Tools

Since Catppuccin is available in 4 palettes it's understandable that it may not be quite as easy to make 4 versions of a port. So to help with that, we have built a bunch of tools to make life easier when creating Catppuccin ports. You'll find them all (with instructions) under our catppuccin/toolbox repo. Particularly, for the initial problem stated, you'd want to take a look at the Puccinier tool.

 

Submission

Open an issue under the main repo and fill out the information requested on the "port request". It's recommended to also share the port in our Discord server beforehand so that other members of the community can give their opinion on it and hopefully improve it.