You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
83 lines
3.3 KiB
Markdown
83 lines
3.3 KiB
Markdown
<p align="center">
|
|
<h2 align="center">🤝 Contributing</h2>
|
|
</p>
|
|
|
|
<p align="center">
|
|
Creating Catppuccin ports
|
|
</p>
|
|
|
|
|
|
|
|
### 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](https://github.com/catppuccin/template) 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
|
|
```
|
|
|
|
2. Add this template as a remote:
|
|
```
|
|
git remote add template https://github.com/catppuccin/template.git
|
|
```
|
|
|
|
3. Pull from it:
|
|
```
|
|
git pull template main
|
|
```
|
|
|
|
4. Delete the remote:
|
|
```
|
|
git remote remove template
|
|
```
|
|
|
|
5. Make the template its own repository by running
|
|
```
|
|
git reset $(git commit-tree HEAD^{tree} -m "feat: initial commit")
|
|
```
|
|
|
|
6. 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](https://gist.github.com/joncardasis/e6494afd538a400722545163eb2e1fa5) (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](https://github.com/catppuccin/.github).
|
|
|
|
|
|
|
|
### 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](https://github.com/catppuccin/toolbox) repo. Particularly, for the initial problem stated, you'd want to take a look at the [Puccinier](https://github.com/catppuccin/toolbox#%EF%B8%8F-puccinier) tool.
|
|
|
|
|
|
|
|
### Submission
|
|
|
|
Raise a discussion under main repository [here!](https://github.com/catppuccin/catppuccin/discussions/new?category=port-requests)
|
|
The title should be the **simplest** name of the application/tool/website in **lower-kebab-case** that you are wanting ported over.
|
|
E.g. **NeoVim** -> **neovim**
|
|
|
|
If you have already created a repository containing the work, make sure to include it within the description for others to see! Feel free to join our [Discord](https://discord.com/invite/r6Mdz5dpFc) and share it there too!
|
|
|
|
The discussion will be transferred to an issue once the [staff team](https://github.com/orgs/catppuccin/teams/staff/members)
|
|
have deemed the port ready to be reviewed and merged!
|